Skip to content

joce/edgarq

Repository files navigation

edgarq

CI Coverage Ruff Code style: black GitHub License

EDGAR Query.

edgarq brings SEC EDGAR data to the command line — filings, XBRL fundamentals, insider transactions, fund holdings, and full-text search. It is built for scripts, agents, and quick terminal work that needs structured JSON (or typed Parquet) from SEC.gov.

The project stays deliberately close to the source. It does not define deep finance domain models beyond what edgartools already provides, reshape SEC responses into opinionated views, or add discovery APIs beyond CLI help. Where the data is already structured, edgarq exposes the EDGAR HTTP endpoints directly.

Features

  • Company filings, XBRL company facts, and cross-section XBRL frames as JSON.
  • Tabular outputs (filings, facts, holdings, insider transactions, screen results) available as Parquet for downstream pandas / DuckDB use.
  • Full-text search across all filings via EDGAR's EFTS index.
  • Within-filing BM25 text search with ranked snippets.
  • Insider transactions (Form 3 / 4 / 5) and institutional holdings (13F).
  • Fund data: N-PORT portfolios, N-MFP money-market holdings, N-CEN census.
  • Filing section extraction (MD&A, risk factors, business, financials, items).
  • Bulk-zip downloads (submissions, company facts, DERA quarterly data sets) treated as first-class local data: hybrid local-first / remote-fallback reads.
  • Real-time filing feeds via Atom / RSS polling.
  • Specialized filing parsers: proxy statements, 40-F, Form C (Regulation CF).
  • Generated help that includes examples, parameters, and form-specific notes.

Install From Source

edgarq is currently intended to run from a local checkout. It is a Python 3.10+ project managed with uv.

uv sync --all-groups

Run the CLI from the repository:

uv run edgarq --help

Or install it as a package from a local checkout:

uv tool install .
edgarq --help

Identity Setup

SEC requires a User-Agent header containing a contact email on every request. edgarq reads this identity from the EDGARQ_IDENTITY environment variable or from the persisted config file at ~/.config/edgarq/config.toml (override the path with EDGARQ_CONFIG_HOME). Set it once before making any requests:

$env:EDGARQ_IDENTITY = "Your Name your@email.com"

Or persist it via the config command:

uv run edgarq config set identity "Your Name your@email.com"

Commands that make SEC requests hard-fail with a clear message when identity is unset. The format must be Name email@domain — SEC's fair-access policy requires a recognisable contact.

Quick Start

Resolve a ticker, browse recent filings, read a section:

uv run edgarq lookup AAPL
uv run edgarq filings AAPL --form 10-K --limit 5
uv run edgarq filing 0000320193-24-000123 --section mda

Pull XBRL fundamentals:

uv run edgarq facts AAPL --concept us-gaap:Revenues
uv run edgarq trends AAPL --concepts Revenues,NetIncomeLoss --periods 8
uv run edgarq frame us-gaap:Revenues USD CY2024Q1

Compare companies side-by-side:

uv run edgarq compare AAPL,MSFT,GOOGL --metrics Revenues,NetIncomeLoss --periods 4

Insider activity and institutional holdings:

uv run edgarq insider AAPL --form 4 --since 2024-01-01
uv run edgarq 13f "BERKSHIRE HATHAWAY" --period 2024-Q4

Full-text search:

uv run edgarq search "climate risk" --forms 10-K --start 2024-01-01

Tabular outputs as Parquet:

uv run edgarq facts AAPL --format parquet --out aapl_facts.parquet
uv run edgarq frame us-gaap:Revenues USD CY2024Q1 --format parquet --out rev_2024q1.parquet

Commands

Use root help to see the command list:

uv run edgarq --help

Commands are grouped below by domain. Each has its own adaptive help:

uv run edgarq filings --help
uv run edgarq facts --help

Resolution and discovery

Command Data
lookup Resolve a ticker, CIK, accession, or company name
tickers List all tickers registered with EDGAR
search Search EDGAR full-text filings index
search-in Search text within a single filing

lookup — Accepts a ticker, raw CIK, accession number, or company-name substring and returns the canonical identifier set (ticker → CIK + name; CIK → name + tickers; accession → CIK + index URL; name → first match or up to five with --all).

uv run edgarq lookup AAPL
uv run edgarq lookup 320193
uv run edgarq lookup 0000320193-24-000123
uv run edgarq lookup "apple inc" --all

tickers — Rows from the EDGAR company tickers file. --exchange adds an exchange column; --mf switches to the mutual-fund series/class file.

uv run edgarq tickers
uv run edgarq tickers --exchange
uv run edgarq tickers --mf

search — Full-text search results from the EDGAR EFTS endpoint. Paginates automatically when --limit exceeds 100 (the per-page EFTS ceiling).

uv run edgarq search "cybersecurity risk" --forms 10-K --start 2024-01-01
uv run edgarq search "going concern" --forms 10-Q --start 2023-01-01 --end 2024-01-01
uv run edgarq search "bitcoin" --cik 320193 --limit 50

search-in — BM25 text search inside a single filing, returning ranked snippets. --regex treats the query as a Python regular expression.

uv run edgarq search-in 0000320193-24-000123 "artificial intelligence"
uv run edgarq search-in 0000320193-24-000123 "revenue.{0,20}risk" --regex

Company-level

Command Data
company Fetch aggregated company profile, filings, and financials
filings List filing index for a company
filing Show a specific filing or extracted section
attachments List all attachments for a filing
subsidiaries List subsidiaries from the latest 10-K (Exhibit 21)

company — Aggregated company view. --include selects sections: profile, filings, financials, ownership.

uv run edgarq company AAPL
uv run edgarq company MSFT --include profile,financials,ownership
uv run edgarq company BRK-B --include filings --limit 10

filings — Filing index from the EDGAR submissions endpoint. Filters: --form (comma-separated), --since, --limit.

uv run edgarq filings AAPL
uv run edgarq filings AAPL --form 10-K --limit 5
uv run edgarq filings MSFT --form 10-K,10-Q --since 2022-01-01
uv run edgarq filings AAPL --format parquet --out aapl_filings.parquet

filing — Extracts a section from a single filing. Sections: mda, risk, business, financials, items, full, raw. Filings are cached forever (immutable after acceptance).

uv run edgarq filing 0000320193-24-000123
uv run edgarq filing 0000320193-24-000123 --section mda
uv run edgarq filing 0000320193-24-000123 --section risk

attachments — All attachments (primary document, exhibits, index files) for a filing. CIK is resolved automatically from the accession number via EFTS. Result is cached forever.

uv run edgarq attachments 0000320193-24-000123

subsidiaries — Exhibit 21 subsidiary list from the latest 10-K. Cached permanently per accession.

uv run edgarq subsidiaries AAPL

XBRL fundamentals

Command Data
facts Fetch XBRL facts for a company
frame Fetch a cross-section XBRL frame for one concept/period
concepts List available XBRL concepts for a company
trends Fetch multi-period XBRL concept time series for a company
compare Compare companies side-by-side on selected XBRL metrics

facts — XBRL facts from the EDGAR companyfacts endpoint. Without --concept, returns all concepts. --period filters to a single XBRL frame period.

uv run edgarq facts AAPL
uv run edgarq facts AAPL --concept us-gaap:Revenues
uv run edgarq facts AAPL --concept us-gaap:Revenues --period CY2024Q1
uv run edgarq facts AAPL --format parquet --out aapl_facts.parquet

frame — XBRL frame from the EDGAR frames endpoint — one row per filer that reported the concept in the given period.

uv run edgarq frame us-gaap:Revenues USD CY2024
uv run edgarq frame us-gaap:Assets USD CY2024Q1I
uv run edgarq frame us-gaap:Revenues USD CY2024Q1 --format parquet --out rev.parquet

concepts — XBRL concepts available for a company from companyfacts. Each row summarises one (taxonomy, concept, unit) with period count and latest value. --search filters by name substring.

uv run edgarq concepts AAPL
uv run edgarq concepts AAPL --search revenue

trends — Multi-period concept time series. Annual cadence by default; --quarterly switches to Q1/Q2/Q3/Q4. --growth appends YoY or QoQ growth rates. Output is long format.

uv run edgarq trends AAPL
uv run edgarq trends AAPL --concepts Revenues,NetIncomeLoss --periods 8
uv run edgarq trends AAPL --quarterly --growth
uv run edgarq trends AAPL --format parquet --out aapl_trends.parquet

compare — Side-by-side XBRL metrics for multiple companies in long format. Default metrics: Revenues, NetIncomeLoss, Assets, StockholdersEquity.

uv run edgarq compare AAPL,MSFT,GOOGL
uv run edgarq compare AAPL,MSFT --metrics Revenues,NetIncomeLoss --periods 4
uv run edgarq compare AAPL,MSFT,GOOGL --quarterly

Insider and holdings

Command Data
insider Fetch insider transactions from Form 3, 4, or 5 filings
13f Fetch institutional holdings from a 13F-HR filing

insider — Insider transactions from Form 3, 4, and 5 filings. --since defaults to the last 90 days. Parsed filings are cached permanently. Transaction code: S=Sale, P=Purchase, A=Award.

uv run edgarq insider AAPL
uv run edgarq insider AAPL --form 4 --since 2024-01-01
uv run edgarq insider MSFT --form 3 --limit 50
uv run edgarq insider AAPL --format parquet --out aapl_insider.parquet

13f — Institutional holdings from the most recent (or --period) 13F-HR filing. --diff <accession> returns a change table comparing two filings. --period uses YYYY-Qn form.

uv run edgarq 13f "BERKSHIRE HATHAWAY"
uv run edgarq 13f "BERKSHIRE HATHAWAY" --period 2024-Q4
uv run edgarq 13f "BERKSHIRE HATHAWAY" --diff 0000950123-24-000001
uv run edgarq 13f "BERKSHIRE HATHAWAY" --format parquet --out bh_13f.parquet

Real-time feeds

Command Data
monitor Fetch the real-time EDGAR filing firehose
atom Fetch the EDGAR Atom feed for a company
daily-index Fetch the EDGAR daily filing index for a business day

monitor — Latest accepted filings from the EDGAR getcurrent Atom feed. Results cached for 1 minute. --limit is capped at 400 (SEC ceiling).

uv run edgarq monitor
uv run edgarq monitor --form 8-K --limit 100
uv run edgarq monitor --form 8-K,4 --limit 200

atom — Per-company Atom feed via the EDGAR getcompany endpoint. Results cached for 5 minutes. Use edgarq filings for richer metadata.

uv run edgarq atom AAPL
uv run edgarq atom AAPL --form 10-K --count 10

daily-index — All filings accepted on a given business day from the EDGAR daily-index master.idx file. Only business days (Mon-Fri) are valid; weekends are rejected. Results cached for 1 day. The index is typically available from ~6 PM ET on the filing date.

uv run edgarq daily-index 2024-10-15
uv run edgarq daily-index 2024-10-15 --format parquet --out 2024-10-15.parquet

Specialized filings

Command Data
proxy Fetch DEF 14A executive compensation and governance data
fund Fetch fund, ETF, BDC, or money-market fund data
40f Fetch sections from a Canadian 40-F annual report
formc Fetch Regulation Crowdfunding Form C filing data

proxy — Executive compensation table and pay-vs-performance data from the latest (or --year) DEF 14A proxy statement. Cached permanently per accession.

uv run edgarq proxy AAPL
uv run edgarq proxy MSFT --year 2024

fund — Multi-action fund/ETF/BDC/money-market handler. The identifier accepts a ticker, CIK, series ID (S000001234), class ID (C000001234), or fund name. --action selects the data section.

uv run edgarq fund SPY
uv run edgarq fund SPY --action portfolio --limit 50
uv run edgarq fund VFIAX --action series
uv run edgarq fund SPY --action portfolio --format parquet --out spy_portfolio.parquet

Actions: lookup (JSON), portfolio (tabular — N-PORT), mmf (JSON — N-MFP), census (JSON — N-CEN), shareholder (JSON — N-CSR), series (tabular), classes (tabular).

40f — Section extraction from the latest 40-F (Canadian annual report). Without --section, returns the list of available sections. For Canadian cross-listed issuers (RY, SU, CNQ). Cached permanently per (accession, section).

uv run edgarq 40f RY
uv run edgarq 40f RY --section mda_text
uv run edgarq 40f SU --section risk_factors

formc — Issuer and offering details from a Regulation Crowdfunding Form C filing. Accession must reference a Form C, C-U, C/A, C-AR, or similar Regulation CF form.

uv run edgarq formc 0001999999-25-000001

Bulk data

Command Data
bulk submissions Download nightly all-filer submissions archive
bulk companyfacts Download nightly all-filer XBRL facts archive
bulk financial-statements Download DERA quarterly XBRL data set
bulk form345 Download DERA quarterly Form 3/4/5 data set
bulk daily-feed Download daily filing archive for one business day
bulk list List cached bulk entries
bulk status Show local cache freshness summary
bulk clean Remove cached entries

See Bulk Data below for details on each archive kind.

Admin and diagnostics

Command Data
config Manage persisted edgarq configuration
cache Manage the tool-output cache
doctor Run environment diagnostics and health probes

config — Manages ~/.config/edgarq/config.toml. Actions: list, get, set, unset, path.

uv run edgarq config list
uv run edgarq config set identity "Your Name your@email.com"
uv run edgarq config set rate_limit 6.0
uv run edgarq config path

cache — Manages the tool-output cache at ~/.cache/edgarq/tool-output/. Actions: list, clean, clear, info. Distinct from the bulk cache (see edgarq bulk).

uv run edgarq cache info
uv run edgarq cache list --command-filter filings
uv run edgarq cache clean --older-than 7d --dry-run
uv run edgarq cache clear --force

doctor — End-to-end environment diagnostics. Runs 11 independent probes; failures do not abort the run. --quick skips the two network probes.

uv run edgarq doctor
uv run edgarq doctor --quick

Probes: identity_set, cache_writable, bulk_dir_writable, config_path, python_version, pyarrow_available, edgartools_version, sql_views_available, sec_reachable, ssl_ok, rate_limit_setting. Exit code 1 when any probe is fail; 0 for all ok/warn.

Screening

Command Data
screen Screen companies by exchange, SIC, industry, or state

screen — Filters from company_tickers_exchange.json client-side. All filters are AND-combined. Currently only --exchange is supported at runtime; --industry, --sic, and --state are accepted by the parser but rejected until bulk-cache routing lands.

uv run edgarq screen --exchange NYSE --limit 200
uv run edgarq screen --exchange Nasdaq
uv run edgarq screen --exchange OTC --format parquet --out otc.parquet

Valid exchange values: NYSE, Nasdaq, OTC, CBOE.

SQL Queries

The sql command runs read-only DuckDB queries against local bulk parquet extracts. No SEC network calls are made — everything runs on local files. Each query opens a fresh in-memory DuckDB connection with file-system access disabled; only SELECT, EXPLAIN, and DESCRIBE are permitted.

Setup

Populate the local parquet extracts before running SQL queries:

uv run edgarq bulk submissions --extract-parquet
uv run edgarq bulk companyfacts --extract-parquet

Optional (larger data sets):

uv run edgarq bulk financial-statements --period 2024q1 --extract-parquet
uv run edgarq bulk form345 --period 2024q1 --extract-parquet

Discover views

uv run edgarq sql --schema
uv run edgarq sql --schema companies

Available views (11 total): companies, companyfacts, filings, xbrl_facts, xbrl_tags, insider_submissions, insider_transactions_nonderiv, insider_transactions_deriv, insider_holdings_nonderiv, insider_holdings_deriv, reporting_owners.

Example queries

# Revenue ranking across all filers
uv run edgarq sql "SELECT cik, name FROM companies JOIN companyfacts USING (cik) WHERE concept = 'Revenues' AND taxonomy = 'us-gaap' ORDER BY val DESC LIMIT 20"

# Insider purchase clusters
uv run edgarq sql "SELECT cik, COUNT(*) AS buys FROM insider_transactions_nonderiv WHERE transaction_code = 'P' GROUP BY cik HAVING COUNT(*) >= 3 ORDER BY buys DESC LIMIT 20"

# Year-over-year revenue growth window
uv run edgarq sql "SELECT cik, period_end, val, LAG(val) OVER (PARTITION BY cik ORDER BY period_end) AS prev_val FROM companyfacts WHERE concept = 'Revenues' AND taxonomy = 'us-gaap' AND fp = 'FY' ORDER BY cik, period_end"

# See ready-to-run canonical examples
uv run edgarq sql --examples

# Read a query from a file
uv run edgarq sql --file my_query.sql

# Show the DuckDB query plan
uv run edgarq sql --explain "SELECT * FROM companies LIMIT 10"

# Write results to Parquet
uv run edgarq sql "SELECT * FROM companies" --format parquet --out companies.parquet

Security

  • File-system access is disabled after view materialisation (SET enable_external_access=false).
  • Only SELECT, EXPLAIN, and DESCRIBE are accepted.
  • Multi-statement input, DDL, DML, COPY, ATTACH, INSTALL, LOAD, PRAGMA, SET, CALL, and EXPORT are all rejected.
  • Identity is not required (no SEC calls).

Memory considerations

Each query materialises the registered views into in-memory DuckDB tables before locking down file access — necessary so the lockdown can block arbitrary file reads without breaking legitimate view queries. Plan accordingly:

  • companies alone (submissions extract): ~50-100 MB.
  • companyfacts view (sharded): ~15 GB RAM when fully registered.
  • Use --schema to see which views are currently available locally; only views with parquet extracts on disk are materialised, so trimming the bulk cache trims the per-query memory footprint.

Bulk Data

edgarq supports five archive kinds from SEC EDGAR. Each is downloaded explicitly via edgarq bulk <action>; no command auto-downloads a bulk archive as a side effect.

Storage root: ~/.cache/edgarq/bulk/ (override with EDGARQ_BULK_HOME).

submissions

All-filer submissions archive from https://www.sec.gov/Archives/edgar/daily-index/bulkdata/submissions.zip. The zip contains one JSON file per CIK with the full submission history. Refreshed nightly (24 h TTL). Use as a local cache for edgarq filings with --prefer local.

uv run edgarq bulk submissions
uv run edgarq bulk submissions --refresh

Size: approximately 1 GB compressed, around 5 GB expanded on disk.

companyfacts

All-filer XBRL company facts archive from https://www.sec.gov/Archives/edgar/daily-index/xbrl/companyfacts.zip. One JSON file per CIK with all reported XBRL facts. Refreshed nightly (24 h TTL). Use as a local cache for edgarq facts with --prefer local.

uv run edgarq bulk companyfacts
uv run edgarq bulk companyfacts --refresh

Size: approximately 1.2 GB compressed, around 15 GB expanded on disk.

financial-statements

DERA quarterly XBRL numeric data from https://www.sec.gov/dera/data/financial-statements. One set of TSV files per quarter (num.tsv, sub.tsv, tag.tsv, pre.tsv). Immutable for past quarters; cached forever. The TSV files are optionally repacked as Parquet when pyarrow is available.

uv run edgarq bulk financial-statements --period 2024q1
uv run edgarq bulk financial-statements --period 2023q4

form345

DERA quarterly Form 3/4/5 insider transaction data. One TSV set per quarter. Immutable for past quarters; cached forever.

uv run edgarq bulk form345 --period 2024q1

daily-feed

Per-day filing archive (.nc.tar.gz) from the EDGAR full-index. Requires a business day (Mon-Fri); weekends are rejected. Useful for processing all filings from a specific date without querying EFTS.

uv run edgarq bulk daily-feed --period 2024-10-15

Listing and cleanup

uv run edgarq bulk list
uv run edgarq bulk list --kind companyfacts
uv run edgarq bulk status
uv run edgarq bulk clean --older-than 30d --dry-run
uv run edgarq bulk clean --kind submissions --older-than 2d

Hybrid --prefer

Commands that can be served from bulk archives support a --prefer flag:

Value Behavior
auto (default) Try local bulk cache first; fall back to remote SEC API.
local Use bulk cache only; error if the archive is not downloaded.
remote Bypass bulk cache; always fetch from SEC.

--prefer is currently wired for facts and filings. Other commands will gain it as bulk-cache routing extends to cover more endpoints.

uv run edgarq facts AAPL --prefer local
uv run edgarq filings AAPL --prefer remote

Parquet Output

Tabular commands support --format parquet --out <path>. Install the optional parquet extra to pull in pyarrow:

uv sync --extra parquet

Commands that accept Parquet output:

tickers, filings, facts, trends, frame, concepts, insider, 13f, screen, compare, search, monitor, atom, daily-index, search-in, fund (portfolio, series, classes actions).

On success, a single JSON descriptor line goes to stdout:

{"format": "parquet", "out": "aapl_facts.parquet", "rows": 412, "bytes": 28160}

Examples:

uv run edgarq facts AAPL --format parquet --out aapl_facts.parquet
uv run edgarq frame us-gaap:Revenues USD CY2024Q1 --format parquet --out rev_q1.parquet
uv run edgarq insider AAPL --format parquet --out aapl_insider.parquet
uv run edgarq filings MSFT --form 10-K --format parquet --out msft_10k.parquet

Parquet writes require --out; --format parquet without --out is rejected. JSON commands (filing, company, attachments, etc.) are JSON-only.

Output Contract

Every edgarq command returns a JSON envelope on stdout:

{
  "command": "<command-name>",
  "data": <command-specific payload>,
  "meta": <command-specific metadata>
}

When --format parquet is used, the envelope is replaced by the single-line JSON descriptor shown above.

Diagnostics, progress, and errors are written to stderr. stdout is always machine-readable.

Exit codes:

Code Meaning
0 Success.
1 User or input error (bad parameter, identity unset, etc.).
2 Usage error (bad argument syntax; argparse-generated).
3+ Upstream HTTP error from SEC (status code included in stderr message).

Dates, Periods, and IDs

Accession numbers

The canonical form is dashed: 0000320193-24-000123. edgarq accepts the undashed form (000032019324000123) on input and normalises it internally. Dashed form is used in all output.

CIK

CIK is zero-padded to 10 digits in most EDGAR API URLs (/submissions/CIK0000320193.json). Archives URLs use unpadded CIK (/Archives/edgar/data/320193/). edgarq handles padding automatically.

XBRL periods

XBRL frame periods follow the EDGAR convention:

Format Meaning
CY2024 Calendar year 2024 (annual).
CY2024Q1 Calendar year 2024, Q1 (duration).
CY2024Q1I Calendar year 2024, Q1, instant (point-in-time).

The I suffix marks an instant value (e.g. total assets at quarter end) as opposed to a duration value (e.g. revenue for the quarter).

Dates

ISO YYYY-MM-DD throughout. daily-index and bulk daily-feed enforce business-day (Mon-Fri) validation; weekend dates are rejected with a clear error. US federal holidays 404 because SEC does not publish on those dates.

Caching

edgarq maintains two distinct caches.

Tool-output cache

Location: ~/.cache/edgarq/tool-output/ (override: EDGARQ_CACHE_HOME). SHA-256 keyed, TTL-based. Managed via edgarq cache.

--no-cache on any command bypasses this cache and fetches fresh data.

Data type TTL
Filings (via filing, filing-section, attachments) Forever (immutable).
Submissions / company profile 1 day.
Company facts (XBRL) 1 day.
Search results (EFTS) 1 day.
Monitor feed 1 minute.
Atom feed 5 minutes.
Daily index 1 day.
Insider / 13F parsed filings Forever (immutable per accession).

Bulk cache

Location: ~/.cache/edgarq/bulk/ (override: EDGARQ_BULK_HOME). Managed via edgarq bulk. --refresh forces re-download even when the local copy is fresh.

Archive kind TTL
submissions 1 day (nightly refresh).
companyfacts 1 day (nightly refresh).
financial-statements Forever (past quarters are immutable).
form345 Forever (past quarters are immutable).
daily-feed Forever (past days are immutable).

Configuration

Supported environment variables:

Variable Purpose
EDGARQ_IDENTITY SEC User-Agent identity string (Name email@domain).
EDGARQ_CONFIG_HOME Override config directory (default: ~/.config/edgarq/).
EDGARQ_CACHE_HOME Override tool-output cache directory (default: ~/.cache/edgarq/tool-output/).
EDGARQ_BULK_HOME Override bulk cache directory (default: ~/.cache/edgarq/bulk/).

Supported config keys (stored in ~/.config/edgarq/config.toml):

Key Type Default Purpose
identity string SEC User-Agent identity.
cache_dir string Tool-output cache path override.
bulk_dir string Bulk cache path override.
rate_limit float 8.0 Request rate cap (req/s; SEC ceiling is 10).

Environment variables take precedence over config file values. Config is plain TOML; the identity value is stored in plaintext.

Development

Install development dependencies:

uv sync --all-groups

Run the test suite:

uv run pytest

Run checks locally:

uv run black --check .
uv run ruff format --check --diff .
uv run ruff check .
uv run pyright
uv run pytest -n auto

Run the full project check, including Python checks and spelling:

uv run tox

When adding or changing command metadata, update validation, adaptive help, and tests together. Then verify the relevant command against EDGAR with its help, minimal required parameters, and representative optional parameters.

License

edgarq is released under the MIT License. See LICENSE.

About

Command line EDGAR query tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages