11# python-evnex
22
3+ [ ![ CI] ( https://github.com/hardbyte/python-evnex/actions/workflows/ci.yml/badge.svg )] ( https://github.com/hardbyte/python-evnex/actions/workflows/ci.yml )
4+ [ ![ PyPI] ( https://img.shields.io/pypi/v/evnex.svg )] ( https://pypi.org/project/evnex/ )
5+
36Python client for the Evnex API.
47
58Author not affiliated with Evnex.
@@ -10,14 +13,16 @@ Author not affiliated with Evnex.
1013- Automatic retries with exponential backoff
1114- Automatic re-authentication
1215- Optionally pass in a ` httpx ` client
13- - Optionally pass in tokens to resume existing session
16+ - Optionally pass in tokens to resume an existing session
1417
1518## Installation
1619
1720```
1821pip install evnex
1922```
2023
24+ ** Requirements:** Python 3.11+
25+
2126
2227## Usage
2328
@@ -67,10 +72,23 @@ python -m examples.get_charge_point_detail
6772
6873## Developer Notes
6974
75+ ### Development Setup
76+
77+ ``` shell
78+ # Install dependencies with development tools
79+ uv sync --group dev
80+
81+ # Set up pre-commit hooks (recommended)
82+ uv run pre-commit install
83+
84+ # Alternatively, format and lint manually
85+ uv run ruff format .
86+ uv run ruff check .
87+ ```
88+
7089### Making a new release
7190
72- What ends up on PyPi is what really matters. Creating a release in GitHub should
73- trigger a release workflow that builds and publishes to PyPi.
91+ What ends up on PyPi is what really matters. Creating a release in GitHub triggers a release workflow that builds and publishes to PyPi.
7492
7593To manually release, update the version in ` pyproject.toml ` , build and publish with uv:
7694
@@ -79,9 +97,3 @@ uv build
7997uv publish
8098```
8199
82- Alternatively, you can use standard Python build tools:
83-
84- ``` shell
85- python -m build
86- python -m twine upload dist/*
87- ```
0 commit comments