Skip to content

Sparse Tensors in Python and more! Datastructure-Driven Array Programming Language

License

Notifications You must be signed in to change notification settings

hameerabbasi/finch-tensor

 
 

Repository files navigation

Finch

This is the beginnings of a sparse tensor library for Python, backed by the Finch.jl tensor compiler.

Installation

Finch is available on PyPi, and can be installed with pip:

pip install finch

Contributing

Packaging

Finch uses poetry for packaging.

To install for development, clone the repository and run:

poetry install --with test

to install the current project and dev dependencies.

Publishing

The "Publish" GitHub Action is a manual workflow for publishing Python packages to PyPI using Poetry. It handles the version management based on the pyproject.toml file and automates tagging and creating GitHub releases.

Version Update

Before initiating the "Publish" action, update the package's version number in pyproject.toml. Follow semantic versioning guidelines for this update.

Triggering the Action

The action is triggered manually. Once the version in pyproject.toml is updated, manually start the "Publish" action from the GitHub repository's Actions tab.

Process and Outcomes

On successful execution, the action publishes the package to PyPI and tags the release in the GitHub repository. If the version number is not updated, the action fails to publish to PyPI, and no tagging or release is done. In case of failure, correct the version number and rerun the action.

Best Practices

  • Ensure the version number in pyproject.toml is updated before triggering the action.
  • Regularly check action logs for successful completion or to identify issues.

Pre-commit hooks

To add pre-commit hooks, run:

poetry run pre-commit install

Testing

Finch uses pytest for testing. To run the tests:

poetry run pytest

About

Sparse Tensors in Python and more! Datastructure-Driven Array Programming Language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%