Axiom

Latest version: v0.9.0

Safety actively analyzes 629639 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 8

0.5.4

- Items with attributes.path attributes can now be upgraded.
- axiom.scheduler has been improved to make clock-related tests easier to write.
- Improved test coverage and various bugfixes.

0.5.3

- A bug causing the table name cache to grow too large was fixed.

0.5.2

- Type names are now determined on a per-store basis, rather than cached
globally on the Item.

0.5.1

- axiom.slotmachine._structlike removed in favor of the implementation in
Epsilon, epsilon.structlike.record.
- The batch process has been adjusted to do more work per iteration.

0.5.0

Highlights:
- Fixed several bugs, including several potential data-corruption issues.
All users are recommended to upgrade, but back up your data and test your
upgrade first!
- There is now a 'money' attribute type which uses fixed-precision math in
the database specifically designed for dealing with the types of issues
associated with database-persistent financial data.
- Some simple relational constraints (the equivalent of ON DELETE CASCADE)
have been implemented using the 'whenDeleted' keyword argument.
- Indexes which are created in your code will now automatically be added to
opened databases without requiring an upgrader or a change to your Item's
schemaVersion.
- You can now use 'declareLegacyItem' to declare legacy schemas to record the
schema of older versions of your software -- this enables upgrading of more
than one step per release of your application code.
- You can now create multi-column indexes using attributes.compoundIndex.
---
- Made Item.typeName and Item.schemaVersion optional in most cases.
- Added axiom.batch for reliably operating on large groups of items.
- Removed all usages of util.wait from tests
- added 'queryutil.contains' utility query method, for testing when a value
is between two attributes.
- Added 'negate' argument to oneOf, allowing for issing SQL 'NOT IN' queries.
- Improved reliability of the scheduler. Errors are now logged in a
structured manner.
- Added helper classes for writing axiomatic plug-in commands; see
documentation for axiomatic.scripts.axiomatic.AxiomaticCommand and
AxiomaticSubCommand.
- AttributeQuery now provides .min() and .max() methods which return the
obvious thing.
- Transactions are more managed more conservatively; BEGIN IMMEDIATE
TRANSACTION is used at the beginning of each transact() call, to guarantee
that concurrent access is safe, if sometimes slightly slower.
- SQL generation has been deferred to query time, which means that there is a
more complete API for manipulating Query objects.
- repr() of various objects has been improved for easier debugging.
- Axiom now emits various log events which you can observe if you wish to
analyze query statistics in real-time. These events don't go to the text log by
default: Mantissa, for example, uses them to display a pie chart of the
most expensive queries on a running system.

0.4.0

- Fixed sum() in the case of a table with no rows.
- LoginAccount no longer contains authentication information, but may be
referred to by one or more LoginMethods, which do.
- Added an attribute type for floats: ieee754_double.
- Enhanced functionality in axiom.sequence.List.
- Added support for SQL DISTINCT queries.
- On the command line, axiomatic will attempt to automatically discover
the correct database to use, if one is not specified.
- PID and logfiles are now kept in a subdirectory of the database
directory.
- The "start" axiomatic subcommand now works on Windows.
- Two new axiomatic subcommands have been added related to running servers
from Axiom database: "stop" and "status".
- Two new axiomatic subcommands have been added related to user
management: "extract-user" and "insert-user" for removing users from and
adding users to an existing credentials database, along with all of
their data.
- Axiom queries can now be sorted by a tuple of columns.

Page 7 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.