Skip to main content

A three tier systems code generator that targets serveral databases and languages

Project description

Mettle

Bitsmiths-Mettle is the supporting code generators and python libraries for the Mettle project.

See our repo and main README for more details!

Requirements

Python 3.10+

Installation

$ pip install bitsmiths-mettle

---> 100%

Change History

2.2.9

Type Description
Fix Fixed an exception priority issue with the mettle-psycopg driver where reset connections were being caught by the lock exception.

2.2.8

Type Description
New The mettle-sql-build entry point in the python package now accepts wild card inputs.

2.2.7

Type Description
Fix Python database table generetor respects not null columns that are integers and floats properly for pydantic and dataclass generation.

2.2.6

Type Description
Fix The python encoded.databases[postgresql] driver was not handling null floats. Bug squashed.

2.2.5

Type Description
Fix Changed PostgreSQL package dependency from postgres to postgresql.
Fix The python braze serializers now use isinstance instead of type when checking value types.

2.2.4

Type Description
Fix Improved package dependencies, thank-you Bradley Kirton.
New Added a new optional global-settings.file-header setting to projects. Allows customization or removal or the generated header in all generated files.

2.2.3

Type Description
New Implemented auto (reset) to database connections on failure for all python database drivers. (This excludes asynpg because it uses a pool that does it for us).
Bug Fixed a python async code generation issue, where some methods and with statements were not using await or async.

2.2.2

Type Description
Fix Fixed an import issue with the Braze TCP overload in python.

2.2.1

Type Description
Fix Applied couplet identifier improvement to braze couplets on python.

2.2.0

Type Description
New Added a database_name() method to all db connections.
New Select one statements that fail, will now raise the new DBNotFound error code.
New Added psycopg3 database extension for python3.
New Added psycopg3 async database extension for python3.
New Python generation for __slots__ added, requires python 3.10 and up.
New Added a must_exist optional parameter to the python generated fetch() methods which will raise an error if the fetch fails.
Breaking In the python generated fetch_all() methods, renamed clearList to clear_list.
Breaking Improved the genartion of couplet identifier names. This may cause some couplets to be generated with differnt names.
Bug Foreign key, and unique key violations now proplerly thrown for all the python db drivers.

2.1.14

Type Description
New Added a new python generator option fetch.method. Options are c++ which is the legacy option and python which adds a fetch iterator method and creates a new object for each fetch instead of reusing the existing orec.
New Removed the __del__ dunder from the python DAO code generation as it is not needed.

2.1.13

Type Description
New Angular makefile generators can now be dynamically extended with a different CC, and TARGS as well as have optional overwrite commands.
Bug Fixed configuration bug from the 2.1.12 where a null dataclass would cause a generation error.

2.1.12

Type Description
New Python database and braze models can now be generated with (pydantic, or dataclass, or attrs) as an option.
New Python database and braze models can now toggle (pk, serializer, dav, clear) features an and off.

2.1.11

Type Description
Bug Fixed a refactor of errCode to err_code that was not rippled through some of the base library code/

2.1.10

Type Description
Change General typing improvements, and minor bug fixes.

License

This project is licensed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bitsmiths-mettle-2.2.9.tar.gz (167.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bitsmiths_mettle-2.2.9-py3-none-any.whl (322.9 kB view details)

Uploaded Python 3

File details

Details for the file bitsmiths-mettle-2.2.9.tar.gz.

File metadata

  • Download URL: bitsmiths-mettle-2.2.9.tar.gz
  • Upload date:
  • Size: 167.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for bitsmiths-mettle-2.2.9.tar.gz
Algorithm Hash digest
SHA256 c9c07d78627167c02fee56c25dc079824975121a3ee62f06f1e85cc0aad6d765
MD5 80318e5817280b2ad35ac32f8afd554f
BLAKE2b-256 40d7cb3fa579f2b2a3784e58de1d1beaea8399f2e1d5d721526d6f2c0326661f

See more details on using hashes here.

File details

Details for the file bitsmiths_mettle-2.2.9-py3-none-any.whl.

File metadata

File hashes

Hashes for bitsmiths_mettle-2.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 72b9b64ae89f7c47571970488abfa85ec25953ed6da1612508523b52e8bff400
MD5 61d9134f8e8231e9cff03d66f612fae4
BLAKE2b-256 efe049c3b57d6bd405fcfd346004aced4c890181b3ccc9e95db84cd59436ceac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page