Skip to main content

Making it easier to use SEC filings

Project description

PyPI - Downloads Hits GitHub

datamule

A python package to make using SEC filings easier. Currently makes downloads easier and faster.

Links: Download Indices (900mb)

Installation

pip install datamule

Quickstart:

Using the API

Limited to 10,000 results per query.

from datamule import Downloader
downloader = Downloader()
downloader.download_using_api(form='10-K',ticker='AAPL')

Without the API

Either download the pre-built indices from the links in the readme and set the indices_path to the folder

from datamule import Downloader
downloader = Downloader()
downloader.set_indices_path(indices_path)

Or run the indexer

from datamule import Indexer
indexer = Indexer()
indexer.run()

Example Downloads

# Example 1: Download all 10-K filings for Tesla using CIK
downloader.download(form='10-K', cik='1318605', output_dir='filings')

# Example 2: Download 10-K filings for Tesla and META using CIK
downloader.download(form='10-K', cik=['1318605','1326801'], output_dir='filings')

# Example 3: Download 10-K filings for Tesla using ticker
downloader.download(form='10-K', ticker='TSLA', output_dir='filings')

# Example 4: Download 10-K filings for Tesla and META using ticker
downloader.download(form='10-K', ticker=['TSLA','META'], output_dir='filings')

# Example 5: Download every form 3 for a specific date
downloader.download(form ='3', date='2024-05-21', output_dir='filings')

# Example 6: Download every 10K for a year
downloader.download(form='10-K', date=('2024-01-01', '2024-12-31'), output_dir='filings')

# Example 7: Download every form 4 for a list of dates
downloader.download(form = '4',date=['2024-01-01', '2024-12-31'], output_dir='filings')

TODO

  • Integration with datamule's SEC Router bulk data endpoint to remove need for indexing.
  • integration with datamules Parser endpoint
  • download indices instead of re-running using python

Update Log: 9/9/24

  • added download_using_api(self, output_dir, **kwargs). No indices required. 9/8/24
  • Added integration with datamule's SEC Router API 9/7/24
  • Simplified indices approach
  • Switched from pandas to polar. Loading indices now takes under 500 milliseconds.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datamule-0.16.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

datamule-0.16-py3-none-any.whl (7.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page