Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
run: uv run pre-commit run --all-files

- name: Test with pytest
run: uv run pytest tests --cov=src
run: uv run pytest --cov=src

- name: Minimize uv cache
run: uv cache prune --ci
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,5 @@ cython_debug/

# PyPI configuration file
.pypirc

.idea
7 changes: 2 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ repos:
--wrap-descriptions,
"90",
src,
tests,
]

# bandit - find common security issues
Expand All @@ -66,10 +65,8 @@ repos:
hooks:
- id: bandit
name: bandit
exclude: ^tests/
args:
- -r
- src
args: ["-r", "src", "-x", "*/tests/*"]
pass_filenames: false

# prettier - formatting JS, CSS, JSON, Markdown, ...
- repo: https://github.com/pre-commit/mirrors-prettier
Expand Down
52 changes: 52 additions & 0 deletions shared/utils/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Shared Utils

Shared utilities and common functionality used across multiple modules in the project.

## Structure

```
shared/utils/
├── src/utils/ # Shared utilities source code
├── pyproject.toml # Package configuration
└── README.md # This file
```

## Overview

This package contains reusable utility functions, helpers, and common code that can be shared between different modules of the application. It provides a centralized location for:

- Common data structures and types
- Utility functions and helpers
- Shared configuration utilities
- Cross-module interfaces and contracts

## Installation

The shared utilities are installed as a local package dependency. To install in development mode:

```bash
pip install -e shared/utils/
```

## Usage

Import utilities from the shared package:

```python
from utils import your_utility_function
# or
from utils.module_name import specific_function
```

## Development

When adding new shared utilities:

1. Place them in the appropriate module under `src/utils/`
2. Update the package's `__init__.py` if needed
3. Add tests for new functionality
4. Update this README if adding major new features

## Dependencies

Check `pyproject.toml` for current dependencies and requirements.
24 changes: 12 additions & 12 deletions src/core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ Core application module providing CLI interface and business logic functionality
## 📁 Structure

```
src/
├── clients/ # HTTP clients and external integrations
├── commands/ # CLI command implementations
├── config/ # Configuration management
│ ├── config.yaml # Application configuration
── logger_config.py
├── exceptions/ # Custom exception classes
├── models/ # Data models and schemas
── config.py # Settings and configuration models
├── services/ # Business logic services
── utils/ # Core utilities
└── main.py # Application entry point
src/
├── core/ # Core module source code
├── clients/ # HTTP clients and external integrations
├── commands/ # CLI command implementations
│ ├── config/ # Configuration management
── core/ # Core functionality
├── exceptions/ # Custom exception classes
├── models/ # Data models and schemas
── services/ # Business logic services
├── utils/ # Core utilities
│ └── main.py # Application entry point
└── tests/ # Core module tests
```

## 🚀 Usage
Expand Down
3 changes: 0 additions & 3 deletions src/core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,5 @@ core = "core.main:entrypoint"
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["core"]

[tool.uv.sources]
utils = { workspace = true }
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def __init__(self):
path = Path(__file__).parent.parent
config_path = path / "config" / "config.yaml"

load_dotenv(dotenv_path=path.parent / ".env")
load_dotenv(dotenv_path=path.parent.parent / ".env")

if not config_path.exists():
raise FileNotFoundError(f"Config file not found: {config_path}")
Expand Down
File renamed without changes.
File renamed without changes.
Empty file removed tests/conftest.py
Empty file.