Skip to main content

stpstone stpstone

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Python Version PyPI Version Linting Formatting: isort Test Coverage Snyk Vulnerabilities Snyk License License PyPI Downloads Open Issues Contributions Welcome

stpstone (short for stepping stone) is a Python package designed for ingesting, processing, and analyzing structured and unstructured financial data. It provides tools for ETL (Extract, Transform, Load), quantitative analysis, and derivatives pricing, optimized for financial market applications.

✨ Key Features

🌍 Data Extraction

🇧🇷 Brazilian Markets (B3)

Equities & Derivatives
Fixed Income
Macroeconomic Data
Registries & Regulatory

🇺🇸 US Markets

Equities & ETFs
Macroeconomic Data

🌐 Worldwide Markets

Cryptocurrencies
Global Markets
Global Fixed Income
Credit Ratings & Risk

🔄 Data Transformation

Data Cleaning

Data Standardization

Data Validation


📥 Data Loading

Database Connectors

Cloud Storage


📊 Analytics

Quantitative Analysis

Performance Metrics

Pricing Models

Risk Management

Computer Arithmetic


⚙️ Utilities

Microsoft Office Integration

Data Parsers

Structured Data
Unstructured Data
Data Structure Parsers
Specialized Formats

Data Pipelines

Network Operations

Calendar & Date Utilities

Geographic Data

Data Providers

Trading & Automation

Communication & Notifications

Other Utilities


🏗️ Data Structures & Algorithms

Queue Implementations

Stack Implementations

Tree Structures

🚀 Getting Started

Prerequisites:

  • Python ^3.12

Optional:

  • Pyenv: Installation Guide

  • Makefile (below are some benefits of usage)

    Category Example Targets Benefit
    Package Lifecycle build_package_pypi_org, clean_dist Automated PyPI publishing
    Git Workflows git_pull_force, gh_protect_main Enforces branch policies
    CI/CD gh_actions_local_tests Local pipeline validation
    Code Generation ingestion_concrete_creator Factory pattern automation
    Dev Environment vscode_setup Consistent IDE setup
  • Makefile Installation Options for Windows:

  • Makefile Installation for MacOS:

  • Makefile Installation for Ubuntu: Preinstalled, no action needed

Installation Guide:

  • Option 1: Pip Install (Recommended) 📌 Available on PyPI

    
     #!/bin/bash
     pip install stpstone
     
  • Option 2: Build from Source

    
      #!/bin/bash
      git clone https://github.com/guilhermegor/stpstone.git
      cd stpstone
      pyenv install 3.12.8
      pyenv local 3.12.8
      poetry install --no-root
      poetry shell
      
  • Setting Up Make (Optional for Build Automation)

    Platform Instructions
    Windows Install via MinGW
    1. Download MinGW installer
    2. Select mingw32-make during installation
    3. Add C:\MinGW\bin to PATH
    4. mingw32-make --version
    MacOS Pre-installed or via Xcode CLI tools:
    xcode-select --install
    Linux Install via package manager:
    sudo apt-get install build-essential
  • Python Kernel Versioning (Pyenv): pyenv instructions to installation

🧪 Running Tests

Execute unit and integration tests:


#!/bin/bash
poetry run python -m unittest discover -s tests/unit -p "*.py" -v
poetry run python -m unittest discover -s tests/integration -p "*.py" -v

📂 Project Structure


stpstone/
│
├── 📁 .github/
│   ├── 📁 workflows/         # GitHub Actions CI/CD pipelines
│   ├── 📜 CODEOWNERS         # Code ownership definitions
│   └── 📜 PULL_REQUEST_TEMPLATE.md  # PR template
│
├── 📁 .vscode/               # VSCode configuration
│   └── ⚙️ settings.json      # Editor preferences and extensions
│
├── 📁 bin/                   # Command Line Interface components
│
├── 📁 data/                  # Data storage and management
│
├── 📁 docs/                  # Project documentation
│
├── 📁 examples/              # Example implementations
│
├── 📁 img/                   # Visual assets
│
├── 📁 stpstone/              # Core Python package
│   ├── 📁 _config/           # Configuration management
│   ├── 📁 analysis/          # Analytical components
│   ├── 📁 dsa/               # Data structures & algorithms
│   ├── 📁 ingestion/         # Data ingestion pipelines
│   ├── 📁 transformations/   # Data transformation logic
│   ├── 📁 utils/             # Shared utilities
│   └── 🐍 __init__.py        # Package initialization
│
├── 📁 tests/                 # Test suites
│   ├── 📁 unit/              # Unit tests
│   ├── 📁 integration/       # Integration tests
│   └── 📁 performance/       # Performance benchmarking
│
├── 📜 .gitignore             # Git ignore patterns
├── ⚙️ .pre-commit-config.yaml # Pre-commit hook configurations
├── � .python-version        # Pyenv version specification
├── 📜 LICENSE               # MIT License file
├── ⚙️ Makefile              # Automation tasks
├── 📦 poetry.lock           # Exact dependency versions
├── ⚙️ pyproject.toml        # Project metadata and dependencies
├── 📖 README.md             # Project overview
├── 📦 requirements.txt      # Production dependencies
├── 🔧 extensions.txt  # Development dependencies
└── 💻 requirements-prd.txt # Virtual environment setup

👨‍💻 Authors

Guilherme Rodrigues
GitHub
LinkedIn

📜 License

This project is licensed under the MIT License - see LICENSE for details.

🙌 Acknowledgments

  • Inspired by open-source financial libraries and tools

  • This documentation follows a structure inspired by PurpleBooth's README-Template.md.

  • Special thanks to Python community

🔗 Useful Links

Metadata

Release files for stpstone 3.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for stpstone 3.2.2
File Size Uploaded Provenance
stpstone-3.2.2.tar.gz 502.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for stpstone 3.2.2
File Interpreter ABI Platform
stpstone-3.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / stpstone-3.2.2.tar.gz

Download URL stpstone-3.2.2.tar.gz
Size 502.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f8ca28c885791f7fef6ff07895ff4579ac52b8b9b831f6954fbf9a24b8aae2e3
BLAKE2b-256 checksum
How to use checksums
60687ab77b8c2f5ea6f68f8a258c37be3476473ad14e27c4701efb265e5af2fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Linux/6.17.0-1018-azure

Release files / stpstone-3.2.2-py3-none-any.whl

Download URL stpstone-3.2.2-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
78f4876b954c6ed5131e5138c0773b807d05d8f7a259517d7f9efad9375ab205
BLAKE2b-256 checksum
How to use checksums
c842817ceee0bad806e3b671979dd41ef326a882843d606530ed66cabab82d18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Linux/6.17.0-1018-azure

Security for stpstone 3.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

3.2.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page