Metadata-Version: 2.1
Name: birdfeeder-coinalpha
Version: 1.4.1
Summary: Helper library for CoinAlpha projects
Home-page: https://github.com/coinalpha/birdfeeder
License: MIT
Author: Vladimir Kamarzin
Author-email: vvk@vvk.pp.ru
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: aioconsole (>=0.1.16)
Requires-Dist: aiohttp (>=3.2,<4.0)
Requires-Dist: aiorun (>=2020,<2021)
Requires-Dist: async-timeout
Requires-Dist: boto3 (>=1,<2)
Requires-Dist: cachetools (>=4,<5)
Requires-Dist: environs (>=9,<10)
Requires-Dist: kafka-python (>=2,<3)
Requires-Dist: pandas (>=1.1,<2.0)
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: python-json-logger (>=2,<3)
Requires-Dist: ruamel.yaml (>=0.16,<0.17)
Requires-Dist: typer (>=0.3)
Project-URL: Repository, https://github.com/coinalpha/birdfeeder
Description-Content-Type: text/markdown

# birdfeeder

Helper library for CoinAlpha projects

## Usage

The library is published to pypi as [birdfeeder-coinalpha](https://pypi.org/project/birdfeeder-coinalpha/)

### Installing

```
pip install birdfeeder-coinalpha
```

```
poetry add 'birdfeeder-coinalpha@^1'
```


### How to install old versions

In pyproject.toml:

```
birdfeeder-coinalpha = { git = "https://github.com/coinalpha/birdfeeder.git", branch = "master" }
birdfeeder-coinalpha = { git = "https://github.com/coinalpha/birdfeeder.git", rev = "29cdd7229d0d35a989322f5026382400d1332da4" }
birdfeeder-coinalpha = { git = "https://github.com/coinalpha/birdfeeder.git", tag = "0.1.0" }
```

pip:

```
git+https://github.com/coinalpha/birdfeeder.git@master#egg=birdfeeder
git+https://github.com/coinalpha/birdfeeder.git@29cdd7229d0d35a989322f5026382400d1332da4#egg=birdfeeder
git+https://github.com/coinalpha/birdfeeder.git@0.1.0#egg=birdfeeder
```


## Development

To install library for development in conda environment, run

```
./install
```

Alternativelly (preferred), you can use poetry env:

```
poetry install
poetry shell
```

## How to add a dependency

1. If you're running in conda, you need to install required package first.
1. Then, see installed version in `conda env export`
1. Take this version and add into pyproject.toml, into `[tool.poetry.dependencies]` (or dev section, if the package is needed for development only). Specify version (or range) according to [Dependency Specification](https://python-poetry.org/docs/dependency-specification/)

If using poetry:

1. Run `poetry add <package>`

## Releasing a new version

Idea: we're keeping own version and dependencies info in `pyproject.toml`, and then generating `setup.py` so that the library could be installed via tools like pip. We're also generating `environment.yml` file because we're mostly using conda to manage development environments at CoinAlpha.

1. Change version in `pyproject.toml` and `birdfeeder/__init__.py`
1. Generate `setup.py`: `dephell deps convert`
1. Generate `environment.yml`: `poetry2conda --dev pyproject.toml environment.yml`
1. Commit updates `git add -u && git commit`
1. Create git tag `x.y.z`: `git tag -s x.y.z`
1. Run `git push && git push --tags`
1. Publish to pypi: `poetry publish --build`

