What’s New

New features, bug fixes, and improvements for each release.

v0.4.0

Highlights

Many breaking changes, as this update does a lot of restructuring.

  • Rename filings.py to company.py (and respective Filings class to CompanyFilings).

  • Rename master.py to quarterly.py (and respective MasterFilings class to QuarterlyFilings).

  • Rename filings subdirectory to core to avoid confusion.

  • Create ComboFilings class that wraps around QuarterlyFilings, DailyFilings given 2 dates.

  • Create filings factory that returns the correct class based on user inputs. Returns one of ComboFilings, QuarterlyFilings, DailyFilings, CompanyFilings.

  • Add many more types to FilingType enum. Switch to csv table for details.

  • If no filings found for DailyFilings or MasterFilings after finding that other filings that do not match the criteria exist, then raise a NoFilingsError instead of a ValueError.

  • Fix use of user_agent by NetworkClient and require its use by all filings classes/functions

  • Fix issue where daily CLI command would not work due to date_cleanup returning datetime.datetime instead of datetime.date

  • Fix issue where CompanyFilings includes links that are not exact matches to filing_type.

  • Fix issue where get_urls does not reset params after getting company filings URLs.

  • Add NSAR filing types. Thanks to mjkoo91!

  • Get rid of caching behavior that was causing issues when downloading filings.

  • Simplify ComboFilings logic for getting quarterly and daily dates.

  • Fix issue where get_cik_map fails due to the SEC providing None for title or ticker.

  • Add smoke tests to test package “in the wild”.

Contributors

  • reteps

  • jackmoody11

  • lolski

  • agraddy

v0.3.4

Highlights

  • Add user_agent to CLI to fix external breaking change

Contributors

  • lolski

  • jackmoody11

v0.3.3

Highlights

  • Add user_agent argument to NetworkClient

  • Bypasses CIK lookup calls to SEC if the provided argument is already a CIK.

Contributors

  • kevinschaul

  • jackmoody11

v0.3.2

Highlights

  • Gets rid of unnecessary AbstractClient.

  • Flattens directory structure. The exceptions, cik_lookup, and utils have been moved to the main package directory.

  • Removes cik_map module in favor of single cik_lookup module which now houses get_cik_map.

  • Slightly changes functionality of get_cik_map to return single dictionary.

  • Rename internal _get_cik to _get_cik_from_html.

Contributors

  • reteps

  • jackmoody11

v0.3.1

Highlights

  • Fixes bug where get_response does not break after validating response (thanks to abbadata!)

  • Fixes bug where get_response sleeps even after success

  • Remove pause from NetworkClient initialization in favor of optional backoff_factor that relies on urllib3 retry module.

Contributors

  • abbadata

  • jackmoody11

v0.3.0

Highlights

  • Adds asynchronous requests, downloads are now 10x faster!

  • Adds download_all option to save method, allowing for bulk downloads. Uses threaded extraction and renaming of files.

  • Adds dir_format and file_format options to filings save method.

  • Adds secedgar.parser.MetaParser and extract method to secedgar.filings._index.IndexFilings.

  • Adds SC 13G, SC 13G/A, SC 13D, and SC 13D/A filing types to FilingType.

Contributors

  • reteps

  • jackmoody11

v0.2.3

Highlights

  • Adds entry_filter property to secedgar.filings._index.IndexFilings to help filter out filings from day or quarter that aren’t needed (thanks to reteps!)

  • secedgar.filings.cik_lookup.CIKLookup tries to use secedgar.utils.cik_map.get_cik_map first when looking up tickers/company names (regardless of whether tickers are upper or lowercase)

  • Adds validation to secedgar.utils.cik_map.get_cik_map to ensure correct key options are being used

  • secedgar.client.network_client.NetworkClient now pauses at the end of request as well if pause is given.

Contributors

  • reteps

  • jackmoody11

v0.2.2

Highlights

  • Fixes bug where DailyFilings and MasterFilings does not use correct URLs when calling save method (thanks to alpbozkurt!)

Contributors

  • jackmoody11

  • alpbozkurt

v0.2.1

Highlights

  • Fixes bug where Filing does not work when count is not specified (thanks to formvoltron!)

Contributors

  • jackmoody11

  • formvoltron

v0.2.0

Highlights

  • Removes secedgar.crawler.SecCrawler class. Use secedgar.filings.Filing instead.

  • Add secedgar.cli to provide CLI option for users

  • Add UserWarning when number of downloaded files is less than count.

  • Add secedgar.filings.MasterFilings class to provide access to all filings per quarter.

Contributors

  • jackmoody11

v0.1.7

Highlights

  • Fixes secedgar.filings.DailyFilings bug to properly fetch daily filings.

  • Fixes secedgar.filings.Filing bug to fetch specified number of filings.

Contributors

  • jackmoody11

  • jonzd

  • Marsh-James

v0.1.6

Highlights

  • secedgar.filings.DailyFilings added to allow easy access to every day’s filings.

  • secedgar.utils.get_cik_map() added to add an easy and fast option for getting company CIKs.

Contributors

  • jackmoody11

  • tomfunk

v0.1.5

Highlights

  • Add Python 3.7, 3.8 support to Travis CI

  • Add support for over 100 forms using secedgar.filings.FilingType

  • Prepare to deprecate secedgar.crawler.SecCrawler in favor of separate filing class

  • Modularize crawler for more general requests

  • Fix count attribute to correctly fetch specified number of filings (or max available)

  • Add secedgar.filings.Filing for fetching SEC filings

  • Add secedgar.filings.CIKLookup for getting company CIKs by company ticker or company name

  • Add MANIFEST.in file to include requirements.txt, LICENSE, and README

  • Add What’s New section to docs (replaces CHANGELOG)

Testing

  • Change xfails to use pytest.raises for various tests

  • Add TestFilings class to tests

  • Add tests for saving filings

  • Add tests for ticker/company name verification

  • Add tox for testing

  • Make Travis CI use setup used by PyPi to catch problems with setup.py

Bugs

  • Fix count attribute to fetch desired number of filings. secedgar will now either fetch specified number or, if not enough filings exist, all filings will be fetched.

Enhancements

  • Introduce secedgar.filings.base.AbstractFiling class as abstract base class

Contributors

  • jackmoody11

v0.1.4

Highlights

  • Refactor code to have a common method for fetching filings

  • Provide user to add their own repo path where filings can be downloaded

  • Add CI pipeline using Travis

Contributors

  • jackmoody11

  • johnisanerd

v0.1.3

Highlights

  • Add support for SD forms

  • Fixed bugs for python3

Contributors

  • crperezt

  • franciosi

  • jackmoody11

  • jblemoine

  • npsolve

v0.1.2

Highlights

  • Fix issue related to file saving

  • Remove platform dependent file path

Contributors

  • npsolve

  • Quartzing

v0.1.1

Highlights

  • Add API for 10-K

  • Create a central API point using class

Contributors

  • npsolve

  • zevaverbach