Metadata-Version: 2.4
Name: galactic-algebra-kernel
Version: 0.4.0.0.post1.dev561
Summary: GALACTIC kernel algebra
Project-URL: Homepage, https://www.thegalactic.org/
Project-URL: Documentation, https://www.thegalactic.org/docs/algebras/kernel/latest/
Project-URL: Repository, https://gitlab.univ-lr.fr/galactic/public/src/algebras/galactic-algebra-kernel/
Project-URL: Issues, https://gitlab.univ-lr.fr/galactic/public/src/algebras/galactic-algebra-kernel/-/issues/
Project-URL: Changelog, https://www.thegalactic.org/docs/algebras/kernel/latest/release-notes.html
Project-URL: Icon-light, https://www.thegalactic.org/docs/algebras/kernel/latest/_static/icon-light.svg
Project-URL: Icon-dark, https://www.thegalactic.org/docs/algebras/kernel/latest/_static/icon-dark.svg
Author-email: The Galactic Organization <contact@thegalactic.org>
Maintainer-email: The Galactic Organization <contact@thegalactic.org>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: algebra,collection,formal concept analysis,kernel,lattice,poset,relational,set
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.11
Requires-Dist: galactic-helper-core>=0.4.0.0.post1.dev
Requires-Dist: pyroaring~=1.1
Provides-Extra: docs
Requires-Dist: galactic-algebra-kernel.docs==0.4.0.0.post1.dev561; extra == 'docs'
Description-Content-Type: text/x-rst

Instructions
============

|hatch|
|pre-commit|
|ruff|
|black|
|doc8|
|mypy|
|pylint|
|slotscheck|

.. |hatch| image:: https://img.shields.io/badge/%F0%9F%A5%9A-hatch-4051b5.svg
   :target: https://pypi.org/project/hatch/
.. |pre-commit| image:: https://img.shields.io/badge/-pre--commit-brightgreen?logo=pre-commit&labelColor=gray
   :target: https://pypi.org/project/pre-commit/
.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
   :target: https://pypi.org/project/ruff/
.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://pypi.org/project/black/
.. |doc8| image:: https://img.shields.io/badge/static--checked-doc8-green
   :target: https://pypi.org/project/doc8/
.. |mypy| image:: https://img.shields.io/badge/static--checked-mypy-blue
   :target: https://pypi.org/project/mypy/
.. |pylint| image:: https://img.shields.io/badge/dynamic--checked-pylint-orange
   :target: https://pypi.org/project/pylint/
.. |slotscheck| image:: https://img.shields.io/badge/dynamic--checked-slotscheck-orange
   :target: https://pypi.org/project/slotscheck/

Prerequisite
------------

*galactic-algebra-kernel* requires Python 3.11, which is available on many Linux
distributions and on macOS, and is easily installed on Windows.

Installation
------------

First, install *galactic* in a virtual environment (``conda`` or ``venv``)
using the instructions given in
the `Quick start guide <https://www.thegalactic.org/start.html>`_.

Second, you can install *galactic-algebra-kernel* in the same environment
using the bash command:

.. code-block:: shell-session

    (galactic) $ pip install "galactic-algebra-kernel[docs]"

If you want the latest unstable build, add the ``--pre`` flag.

If you want to verify package integrity using hashes, you can install
*galactic-algebra-kernel* in the same environment with one of the following
bash commands:

.. code-block:: shell-session

    (galactic) $ pip install -r https://www.thegalactic.org/requirements/stable/galactic-algebra-kernel.txt

.. code-block:: shell-session

    (galactic) $ pip install -r https://www.thegalactic.org/requirements/stable/galactic-algebra-kernel_docs.txt

and for the pre-release version with one of the following bash commands:

.. code-block:: shell-session

    (galactic) $ pip install -r https://www.thegalactic.org/requirements/pre/galactic-algebra-kernel.txt

.. code-block:: shell-session

    (galactic) $ pip install -r https://www.thegalactic.org/requirements/pre/galactic-algebra-kernel_docs.txt

Contributing
------------

Build
~~~~~

Building *galactic-algebra-kernel* requires

* `hatch`_, which is a tool for dependency management and packaging in Python;
* `graphviz`_, which is graph visualization software;
* `plantuml`_, which can generate diagrams from UML sources.
  This software is only required to build the documentation.

Build *galactic-algebra-kernel* using the bash command

.. code-block:: shell-session

    $ hatch run docs:notebooks [--overwrite]
    $ hatch build

Testing
~~~~~~~

Use the following command to run the test suite:

.. code-block:: shell-session

    $ hatch test

Use the following command to run tests with coverage:

.. code-block:: shell-session

    $ hatch test --cover

Use the following command to run the doctests:

.. code-block:: shell-session

    $ hatch test --doctest-modules src

Linting
~~~~~~~

Use the following command to run static checks:

.. code-block:: shell-session

    $ hatch fmt --check

Use the following command to automatically fix static linting issues:

.. code-block:: shell-session

    $ hatch fmt

Use the following command to run dynamic linting:

.. code-block:: shell-session

    $ hatch run lint:check

Documentation
~~~~~~~~~~~~~

Build the documentation using the bash command:

.. code-block:: shell-session

    $ hatch run docs:build

Getting Help
~~~~~~~~~~~~

.. important::

    If you have any difficulties with galactic-algebra-kernel, please feel free to file an issue on GitLab so we can help.

.. _file an issue: https://gitlab.univ-lr.fr/galactic/public/src/algebras/galactic-algebra-kernel/-/issues
.. _python 3.11: http://www.python.org
.. _on Windows: https://www.python.org/downloads/windows
.. _hatch: https://hatch.pypa.io/
.. _graphviz: http://www.graphviz.org
.. _plantuml: https://plantuml.com
