Metadata-Version: 2.4
Name: inoopa_utils
Version: 8.8.2
Summary: Collection of utils used at Inoopa.
Project-URL: Repository, https://bitbucket.org/inoopa/inoopa_utils/
Author-email: Maxim Berge <maxim.berge@inoopa.com>
Requires-Python: >=3.10
Requires-Dist: aiodns>=3.2.0
Requires-Dist: anthropic>=0.59.0
Requires-Dist: boto3>=1.40.69
Requires-Dist: logfire>=4.3.3
Requires-Dist: openai>=1.14.3
Requires-Dist: pandas>=2.3.3
Requires-Dist: pendulum>=2.1.2
Requires-Dist: pydantic==2.11.7
Requires-Dist: pymongo>=4.15.3
Requires-Dist: python-dotenv==1.2.1
Requires-Dist: rabbitpy>=2.0.1
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=14.2.0
Requires-Dist: tenacity>=8.2.3
Requires-Dist: tiktoken>=0.12.0
Requires-Dist: tldextract>=5.1.2
Requires-Dist: typesense>=0.21.0
Requires-Dist: unidecode>=1.3.8
Description-Content-Type: text/markdown

# Inoopa's helpers

This repo contains helper functions we use in all of our python projects.

## This is pushed publicly to Pypi, so NEVER commit any secret here

## How to use this package in your code

```bash
pip install inoopa_utils
```

```python
from inoopa_utils.mongodb_helpers import DbManagerMongo

db_manager = DbManagerMongo()
```

## Development Setup

This project uses [UV](https://github.com/astral-sh/uv) for dependency management.

```bash
# Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

# Install development dependencies
uv sync --dev

# Add a new dependency
uv add <package-name>

# Add a new development dependency
uv add --dev <package-name>
```

## How to publish package to Pypi

### Automatic Publishing (Recommended)

The package is automatically published to PyPI when you push changes to `pyproject.toml` on the `main` branch, **but only if the version has been bumped**.

1. Make your code changes
2. **Update the package version** in [pyproject.toml](./pyproject.toml) at the key `version`
3. Commit and push to `main`
4. GitHub Actions will automatically:
   - Verify the version was bumped
   - Build the package
   - Publish to PyPI
   - Create a GitHub release

**Required Setup:**

- Add your PyPI API token as a GitHub secret named `PYPI_API_TOKEN`

### Manual Publishing

If you need to publish manually:

```bash
# Export your PyPI token
export UV_PUBLISH_TOKEN="..."

# Build project
uv build

# Publish (requires PyPI token to be configured)
uv publish
```

Note: You'll need to configure your PyPI credentials. You can either:

- Set the `UV_PUBLISH_TOKEN` environment variable with your PyPI token
- Use `uv publish --username __token__ --password <your-token>`
