tracktolib 0.39.0__tar.gz → 0.39.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tracktolib
3
- Version: 0.39.0
3
+ Version: 0.39.1
4
4
  Summary: Utility library for python
5
5
  Home-page: https://github.com/tracktor/tracktolib
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "tracktolib"
3
- version = "0.39.0"
3
+ version = "0.39.1"
4
4
  description = "Utility library for python"
5
5
  authors = ["Julien Brayere <julien.brayere@tracktor.fr>"]
6
6
  license = "MIT"
@@ -70,7 +70,7 @@ pythonPlatform = "Linux"
70
70
 
71
71
  [tool.commitizen]
72
72
  name = "cz_conventional_commits"
73
- version = "0.39.0"
73
+ version = "0.39.1"
74
74
  tag_format = "$version"
75
75
  version_files = [
76
76
  "pyproject.toml:version"
@@ -20,7 +20,7 @@ extras_require = \
20
20
 
21
21
  setup_kwargs = {
22
22
  'name': 'tracktolib',
23
- 'version': '0.39.0',
23
+ 'version': '0.39.1',
24
24
  'description': 'Utility library for python',
25
25
  'long_description': "# Tracktolib\n\n[![Python versions](https://img.shields.io/pypi/pyversions/tracktolib)](https://pypi.python.org/pypi/tracktolib)\n[![Latest PyPI version](https://img.shields.io/pypi/v/tracktolib?logo=pypi)](https://pypi.python.org/pypi/tracktolib)\n[![CircleCI](https://circleci.com/gh/Tracktor/tracktolib/tree/master.svg?style=shield)](https://app.circleci.com/pipelines/github/Tracktor/tracktolib?branch=master)\n\nUtility library for python\n\n# Installation\n\nYou can choose to not install all the dependencies by specifying\nthe [extra](https://python-poetry.org/docs/cli/#options-4) parameter such as:\n\n```bash\npoetry add tracktolib@latest -E pg-sync -E tests --group dev \n```\n\nHere we only install the utilities using `psycopg` (pg-sync) and `deepdiff` (tests) for the dev environment.\n\n# Utilities\n\n- **log**\n\nUtility functions for logging.\n\n```python\nimport logging\nfrom tracktolib.logs import init_logging\n\nlogger = logging.getLogger()\nformatter, stream_handler = init_logging(logger, 'json', version='0.0.1')\n```\n\n- **pg**\n\nUtility functions for [asyncpg](https://github.com/MagicStack/asyncpg)\n\n- **pg-sync**\n\nUtility functions based on psycopg such as `fetch_one`, `insert_many`, `fetch_count` ...\n\nTo use the functions, create a `Connection` using psycopg: `conn = psycopg2.connect()`\n\n*fetch_one*\n\n```python\nfrom pg.pg_sync import (\n insert_many, fetch_one, fetch_count, fetch_all\n)\n\ndata = [\n {'foo': 'bar', 'value': 1},\n {'foo': 'baz', 'value': 2}\n]\ninsert_many(conn, 'public.test', data) # Will insert the 2 dict\nquery = 'SELECT foo from public.test order by value asc'\nvalue = fetch_one(conn, query, required=True) # Will return {'foo': 'bar'}, raise an error is not found\nassert fetch_count(conn, 'public.test') == 2\nquery = 'SELECT * from public.test order by value asc'\nassert fetch_all(conn, query) == data\n\n```\n\n- **tests**\n\nUtility functions for testing\n\n- **s3-minio**\n\nUtility functions for [minio](https://min.io/docs/minio/linux/developers/python/API.html)\n\n- **s3**\n\nUtility functions for [aiobotocore](https://github.com/aio-libs/aiobotocore)\n\n- **logs**\n\nUtility functions to initialize the logging formatting and streams\n\n- **http**\n\nUtility functions using [httpx](https://www.python-httpx.org/)\n\n- **api**\n\nUtility functions using [fastapi](https://fastapi.tiangolo.com/)\n",
26
26
  'author': 'Julien Brayere',
@@ -13,6 +13,7 @@ from .utils import json_serial, to_camel_case
13
13
  try:
14
14
  from fastapi import params, APIRouter
15
15
  from fastapi.responses import JSONResponse
16
+ import pydantic
16
17
  from pydantic import BaseModel
17
18
  import starlette.status
18
19
  except ImportError:
@@ -200,11 +201,15 @@ class JSONSerialResponse(JSONResponse):
200
201
  ).encode("utf-8")
201
202
 
202
203
 
203
- class CamelCaseModel(BaseModel):
204
- class Config:
205
- alias_generator = to_camel_case
206
- allow_population_by_field_name = True
207
-
204
+ if pydantic.__version__ < '2.0.0':
205
+ class CamelCaseModel(BaseModel): # type: ignore
206
+ class Config:
207
+ alias_generator = to_camel_case
208
+ allow_population_by_field_name = True
209
+ else:
210
+ class CamelCaseModel(BaseModel):
211
+ def __init__(self):
212
+ raise NotImplementedError('Please use pydantic < 2.0.0')
208
213
 
209
214
  def check_status(resp, status: int = starlette.status.HTTP_200_OK):
210
215
  assert resp.status_code == status, json.dumps(resp.json(), indent=4)
File without changes
File without changes