Smolarith

Latest version: v0.2.0

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

Scan your dependencies

0.5.0

to take advantage of its streams implementation.

Added
- Use [renovate](https://www.mend.io/renovate/) to automatically update deps
and lockfiles.

- Mostly applies to lockfiles, due to [default PDM bounds](https://iscinumpy.dev/post/bound-version-constraints/).

- Add some pytest plugins:

- Use [`pytest-xdist`](https://pypi.org/project/pytest-xdist/) to parallelize tests.

- Use [`pytest-amaranth-sim`](https://github.com/cr1901/pytest-amaranth-sim) to
factor out simulation setup and writing VCD files.

- Add [`sphinx-prompt`](https://github.com/sbrunner/sphinx-prompt) and
[`sphinx_copybutton`](https://sphinx-copybutton.readthedocs.io/en/latest/)
plugins to improve code snippet ergonomics.

- Add missing LICENSE.md file.


Changed
- Use Amaranth `v0.5.0` from PyPI as minimal version.

- Convert modules to use Amaranth streams instead of custom Signatures.

- Nominally compatible with smolarith `v0.1.x`, but the Amaranth version
bump warrants a minor release bump.

- Simulation tests now use [`async` functions](https://amaranth-lang.org/docs/amaranth/v0.5.0/simulator.html#testing-synchronous-circuits)
and [`testbench`](https://amaranth-lang.org/docs/amaranth/v0.5.0/simulator.html#amaranth.sim.SimulatorContext.set)
semantics (signal updates occur immediately, not at the the next clock edge).

- Refactor tests:

- Take advantage of the [combination](https://docs.pytest.org/en/7.1.x/how-to/fixtures.html#override-a-parametrized-fixture-with-non-parametrized-one-and-vice-versa) of
fixture parameterization direct test parameterization to clean up tests and
reduce test code duplication.

- Flatten test directory structure.

- Improve (mul) and add (div) random value testbenches.

- Use PDM to install RTD dependencies.

- Quality-of-life changes for DoIt tasks. Tasks are meant mostly for my
internal use.

- Use [`dynamic` version](https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#dynamic-metadata)
based on `git` tags. Because I keep forgetting to update it manually :).


Fixed
- Correct license type (was MIT, BSD 2-Clause intended).

0.2.0

0.1.1

0.1.0

<!-- Skeleon generated by git-cliff. Prose modified by me (cr1901). -->

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.