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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

Supported by

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