About this project

FinanceDatabase is an open-source Python package that ships a large, curated reference database of financial instruments. It covers more than 300,000 symbols spanning equities (about 112,690 across 11 sectors, 80 industries, 117 countries and 84 exchanges), ETFs (about 36,481 across 313 families and 44 categories), funds (about 57,853 across 1,540 families), indices (about 91,181), currencies (about 2,556), cryptocurrencies (about 3,367) and money markets (about 1,367). The project is explicitly not a market-data or fundamentals feed. Instead, it focuses on product categorization and metadata: for each symbol it stores the ticker, name, currency, sector, industry group, industry, exchange, market, country, state, city, zipcode, website, market-cap bucket, ISIN, CUSIP and FIGI identifiers. This makes it useful for discovering what products exist in a given country, sector or industry, and for enriching other financial-data workflows (the author pairs it with the separate FinanceToolkit package for actual price and fundamental data). Installation is a single `pip install financedatabase -U` command, after which the package is imported as `import financedatabase as fd`. Each asset class is exposed as a class (for example `fd.Equities()`), and once instantiated it can be queried with `select(...)` using keyword filters such as `country`, `sector`, `industry`, `exchange`, `market`, `currency`, `market_cap`, and `only_primary_listing`. Filters accept either a single value or a list of values, in which case any match is returned. A `show_options(...)` helper lists the distinct values available per column, optionally narrowed by other filters, so users can explore the taxonomy without loading the full data files. Because the same company can be listed on multiple exchanges, results may contain duplicate companies; the `only_primary_listing` flag or an explicit `exchange`/`market` filter narrows this down. The underlying data is stored as CSV files, which the project highlights as a deliberate design choice: contributors without coding experience can edit the files directly to add, edit or remove tickers, and the README includes a call for community contributions via a CONTRIBUTING.md guide. The package is distributed on PyPI, supports multiple Python versions, and is maintained by Jeroen Bouma. It is positioned as a free, community-driven alternative to commercial reference-data providers for anyone who wants a broad, filterable overview of the global financial-product universe.