Skip to main content

No project description provided

Project description

project-logo

FMP-PY

Financial Modeling Prep API Data Python SDK

GitHub Actions Workflow Status license last-commit repo-top-language repo-language-count

Developed with the software and tools below.

precommit Poetry Python GitHub%20Actions pandas


Table of Contents

Overview

This project is under development, please check back later for updates.

Fmp-py is an open-source Python library designed to simplify access to comprehensive financial data and company information. It facilitates the retrieval and analysis of historical and intraday financial data, financial statements, and key company metrics by interacting seamlessly with the Financial Modeling Prep API. By extending core functionalities and implementing various financial models, fmp-py ensures accurate data processing and interpretation, making it an invaluable tool for developers and analysts aiming for in-depth financial analysis and decision-making support in their applications.


Features

Feature Description
โš™๏ธ Architecture The project uses a modular architecture, with core components for API interactions, data retrieval, and analysis. Base classes enable easy extension and integration of additional functionalities.
๐Ÿ”ฉ Code Quality The codebase adheres to strict linting and formatting standards, ensuring high readability and maintainability. Tools like ruff and pre-commit are used to enforce code quality.
๐Ÿ“„ Documentation The project includes detailed module-level docstrings and function-level comments. The pyproject.toml file outlines dependencies and configurations for clear reference.
๐Ÿ”Œ Integrations Integrates with Financial Modeling Prep API for data retrieval. Uses GitHub Actions for CI/CD. Relies on libraries such as requests, pandas, and python-dotenv.
๐Ÿงฉ Modularity Highly modular, with well-defined classes and methods in separate files. Easy to extend with new functionalities by leveraging base classes.
๐Ÿงช Testing Automated testing is set up via GitHub Actions. Uses requests-mock for unit tests to simulate API interactions, ensuring reliable and repeatable tests.
โšก๏ธ Performance Designed for efficiency with optimized API calls and data processing techniques. Uses pandas for efficient data manipulation and analysis.
๐Ÿ›ก๏ธ Security Utilizes python-dotenv to manage API keys securely. HTTP sessions are handled securely in the fmp_base.py module to protect data in transit.
๐Ÿ“ฆ Dependencies Key dependencies include requests, pandas, python-dotenv, and testing tools like requests-mock. Development tools include ruff, pre-commit, and poetry.
๐Ÿš€ Scalability The modular architecture and efficient data handling enable easy scaling. Can handle increased data volume and API requests with minimal modifications.

Repository Structure

โ””โ”€โ”€ fmp-py/
    โ”œโ”€โ”€ .github
    โ”‚   โ””โ”€โ”€ workflows
    โ”‚       โ””โ”€โ”€ test-package.yaml
    โ”œโ”€โ”€ README.md
    โ”œโ”€โ”€ poetry.lock
    โ”œโ”€โ”€ pyproject.toml
    โ”œโ”€โ”€ pytest.ini
    โ”œโ”€โ”€ src
    โ”‚   โ””โ”€โ”€ fmp_py
    โ”‚       โ”œโ”€โ”€ __init__.py
    โ”‚       โ”œโ”€โ”€ fmp_base.py
    โ”‚       โ”œโ”€โ”€ fmp_company_information.py
    โ”‚       โ”œโ”€โ”€ fmp_historical_data.py
    โ”‚       โ”œโ”€โ”€ fmp_statement_analysis.py
    โ”‚       โ””โ”€โ”€ models
    โ”‚           โ”œโ”€โ”€ company_information.py
    โ”‚           โ””โ”€โ”€ statement_analysis.py
    โ””โ”€โ”€ tests
        โ”œโ”€โ”€ __init__.py
        โ”œโ”€โ”€ test_fmp_company_information.py
        โ”œโ”€โ”€ test_fmp_historical_data.py
        โ””โ”€โ”€ test_fmp_statement_analysis.py

Modules

.
File Summary
pyproject.toml Defines the projects metadata, dependencies, and configurations for both development and testing. Specifies dependencies like requests, pandas, and python-dotenv, along with development tools such as ruff and pre-commit. Configures linting, formatting, and build system settings to ensure code quality and maintainability.
src.fmp_py
File Summary
fmp_historical_data.py Facilitate access to historical and intraday financial data, supporting various time intervals and date ranges. Enhance data with Volume Weighted Average Price (VWAP) calculations and standardized formatting. Integrate seamlessly with the repositorys architecture by extending FmpBase for consistent API interactions.
fmp_statement_analysis.py The fmp_statement_analysis.py file defines the FmpStatementAnalysis class, which focuses on retrieving and processing financial statement analysis data, such as financial scores, ratios, and key metrics. This class acts as a bridge between raw financial data and its structured, meaningful interpretation, making it a critical component for applications or services requiring in-depth financial analysis. Positioned within the fmp_py module, this class leverages base functionalities from fmp_base.py and integrates several financial models, ensuring seamless data retrieval and manipulation aligned with the overall financial management and processing objectives of the repository.
fmp_company_information.py The fmp_company_information.py file is a part of the fmp-py repository, specifically within the src/fmp_py directory. This module is designed to handle company information within the context of the repositorys architecture. The primary purpose of this module is to define the FmpCompanyInformation class, which extends the base functionality provided by the FmpBase class. This class facilitates the retrieval and processing of various company-related data, including core information, market capitalization, and company profiles. By integrating these functionalities, the module supports the broader objectives of the repository, which include comprehensive data analysis and management for financial and market data.
fmp_base.py Initialize the base functionality for interacting with the Financial Modeling Prep API, managing API keys, handling HTTP sessions, and executing GET requests. Essential for the repositorys architecture, enabling smooth communication with the API and serving as the foundation for other modules to retrieve financial data.
src.fmp_py.models
File Summary
statement_analysis.py Define financial metrics and key ratios related to company performance to facilitate comprehensive financial statement analysis within the repositorys architecture for enhanced decision-making.
company_information.py Model definitions for core company information, market capitalization, executive compensation, and company profiles essential for encapsulating and handling structured company data, supporting various functions and modules in the repositorys overall architecture.
.github.workflows
File Summary
test-package.yaml Automates the testing process for the repository by defining a GitHub Actions workflow. Ensures continuous integration with tasks such as running tests and verifying code quality whenever changes are pushed or pull requests are made. Facilitates rapid feedback and maintains code reliability within the development pipeline.

Return


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

fmp_py-0.0.5.tar.gz (23.9 kB view hashes)

Uploaded Source

Built Distribution

fmp_py-0.0.5-py3-none-any.whl (22.3 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