Skip to main content

A shared Python library for an agentic tool with a modular architecture, including a RAG service and financial data models.

Project description

oak - An Agentic ToolThis is the core library for our agentic tool. It is structured to be modular and scalable, with a clear separation of concerns, and is designed to be installed and used by other services, such as our LangChain agents.Project Structureoak/ ├── src/ │ └── oak/ # Main Python package │ ├── init.py # Makes oak a Python package │ ├── celery_app.py # Celery application instance for task management │ ├── config.py # Configuration manager loaded from .env │ ├── data/ # Data models and structures │ │ ├── init.py │ │ └── modules/ # Domain-specific data modules │ │ ├── init.py │ │ ├── analytics/ │ │ ├── current_events/ │ │ ├── market_data/ │ │ └── stocks/ │ ├── prompts/ # Agent prompts and templates │ │ └── init.py │ ├── services/ # Core business logic and data fetchers │ │ ├── init.py │ │ └── data_fetcher/ │ │ ├── init.py │ │ ├── database_service.py │ │ └── exceptions.py │ ├── tasks/ # Celery task definitions │ │ ├── init.py │ │ └── task_manager.py │ └── utils/ # Utility functions and helpers │ └── init.py ├── pyproject.toml # Project and dependency management ├── docker-compose.yml # Docker services configuration └── .env.example # Example file for environment variables ConfigurationFor security, sensitive data is stored in a .env file, which is loaded by the config.py module. This setup keeps credentials out of your codebase and makes it easy to manage different environments (development, testing, production).Key Componentsoak/src/oak/config.pyThis module defines a Config class that reads environment variables and provides them to the application. It ensures that required variables are present, and it allows for type casting, such as converting a string to a boolean or integer..env and .env.exampleThe .env file holds your actual secret credentials. It should be added to your .gitignore to prevent it from being committed to version control. The .env.example file is a template that shows other developers what environment variables your application expects.oak/src/oak/services/data_fetcher/database_service.pyThis module uses the new config.py file to get its database connection string, further centralizing the application's configuration.Setup and UsagePrerequisitesDocker and Docker Compose installed.InstallationInstall Poetry:If you don't have Poetry, install it following the official instructions.Clone the Repository:git clone cd Create and Fill .env file:Create a .env file in the root directory and copy the contents from .env.example. Fill in your specific credentials.Install Dependencies:From the oak/ directory, run:poetry install Running the SystemThe docker-compose.yml file has been updated to use Redis and Celery.docker-compose up --build This will start:The PostgreSQL database.A Redis service to act as a message broker.A Celery worker that listens for and executes tasks.The main application container, which will soon house your orchestrator.Running TestsTo run the unit tests, you will need Docker and Docker Compose installed. From the oak/ directory, simply run:poetry run pytest

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

oak_agent_core-0.1.10.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oak_agent_core-0.1.10-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file oak_agent_core-0.1.10.tar.gz.

File metadata

  • Download URL: oak_agent_core-0.1.10.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.0 CPython/3.13.7 Darwin/24.6.0

File hashes

Hashes for oak_agent_core-0.1.10.tar.gz
Algorithm Hash digest
SHA256 fb1d03af9edfee4cf2d559360900db9cba3c61ec773b4476cf658dd2b351f829
MD5 82b1fcb9725f3f83baa65daebea2a056
BLAKE2b-256 ff605ff4e2cb2b44e1eb8c6c57386c6400fc27dd3a457a62caab53d1cf96338d

See more details on using hashes here.

File details

Details for the file oak_agent_core-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: oak_agent_core-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.0 CPython/3.13.7 Darwin/24.6.0

File hashes

Hashes for oak_agent_core-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 16f09e89947d1a15b28d34d7163224c4ac97ec3dbf0df394c6d3ab0311364acd
MD5 cb16a72bf04c7d5f545f1fbbb009d405
BLAKE2b-256 acdb07eed186915afdc74f48d6affdeffa0f58dc9df4fb3c80e8795bbb69f340

See more details on using hashes here.

Supported by

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