semvec/pypi-packages huggingface dataset:
lumikko 2023.10.22
For now a lumikko (Finnish for wiesel), later maybe feed back changes upstream towards a lisko.
Requires Python: >=3.9
Keywords: developer-tools,sloc,taxonomies

# Lumikko

For now a lumikko (Finnish for wiesel), later maybe feed back changes upstream towards a lisko.

[License: MIT](https://git.sr.ht/~sthagen/lumikko/tree/default/item/LICENSE) | 
[Country of origin: Switzerland](https://git.sr.ht/~sthagen/lumikko/tree/default/item/COUNTRY-OF-ORIGIN) | 
[Export control classification number(ECCN): EAR99](https://git.sr.ht/~sthagen/lumikko/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)

Third party dependencies are documented in the folder [third-party](docs/third-party/README.md).

[![version](https://img.shields.io/pypi/v/lumikko.svg?style=flat)](https://pypi.python.org/pypi/lumikko/)
[![downloads](https://static.pepy.tech/badge/lumikko/month)](https://pepy.tech/project/lumikko)
[![wheel](https://img.shields.io/pypi/wheel/lumikko.svg?style=flat)](https://pypi.python.org/pypi/lumikko/)
[![supported-versions](https://img.shields.io/pypi/pyversions/lumikko.svg?style=flat)](https://pypi.python.org/pypi/lumikko/)
[![supported-implementations](https://img.shields.io/pypi/implementation/lumikko.svg?style=flat)](https://pypi.python.org/pypi/lumikko/)
[![maintenance-status](https://img.shields.io/github/commit-activity/y/sthagen/lumikko.svg?style=flat)](https://git.sr.ht/~sthagen/lumikko/log)

## Usage

* [Usage documentation](https://codes.dilettant.life/docs/lumikko/usage).
* [Command Line API](https://codes.dilettant.life/docs/lumikko/api).

## Documentation

User and developer [documentation of lumikko](https://codes.dilettant.life/docs/lumikko).

## Bug Tracker

Any feature requests or bug reports shall go to the [todos of lumikko](https://todo.sr.ht/~sthagen/lumikko).

## Primary Source repository

The main source of `lumikko` is on a mountain in central Switzerland.
We use distributed version control (git).
There is no central hub.
Every clone can become a new source for the benefit of all.
The preferred public clones of `lumikko` are:

* [on codeberg](https://codeberg.org/sthagen/lumikko) - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
* [at sourcehut](https://git.sr.ht/~sthagen/lumikko) - a collection of tools useful for software development.

## Contributions

Please do not submit "pull requests" (I found no way to disable that "feature" on GitHub).
If you like to share small changes under the repositories license please kindly do so by sending a patchset.
You can either send such a patchset per email using [git send-email](https://git-send-email.io) or 
if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at [sourcehut](https://git.sr.ht/).

## Status

Experimental.

**Note**: The default branch is `default`.
kodegenerering 2023.10.22
Code generation (Dansk: kodegenerering) experiments.
Requires Python: >=3.9
Keywords: developer-tools,validation,verification

# Kodegenerering

Code generation (Dansk: kodegenerering) experiments

[License: MIT](https://git.sr.ht/~sthagen/kodegenerering/tree/default/item/LICENSE) | 
[Country of origin: Switzerland](https://git.sr.ht/~sthagen/kodegenerering/tree/default/item/COUNTRY-OF-ORIGIN) | 
[Export control classification number(ECCN): EAR99](https://git.sr.ht/~sthagen/kodegenerering/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)

Third party dependencies are documented in the folder [third-party](docs/third-party/README.md).

[![version](https://img.shields.io/pypi/v/kodegenerering.svg?style=flat)](https://pypi.python.org/pypi/kodegenerering/)
[![downloads](https://static.pepy.tech/badge/kodegenerering/month)](https://pepy.tech/project/kodegenerering)
[![wheel](https://img.shields.io/pypi/wheel/kodegenerering.svg?style=flat)](https://pypi.python.org/pypi/kodegenerering/)
[![supported-versions](https://img.shields.io/pypi/pyversions/kodegenerering.svg?style=flat)](https://pypi.python.org/pypi/kodegenerering/)
[![supported-implementations](https://img.shields.io/pypi/implementation/kodegenerering.svg?style=flat)](https://pypi.python.org/pypi/kodegenerering/)
[![maintenance-status](https://img.shields.io/github/commit-activity/y/sthagen/kodegenerering.svg?style=flat)](https://git.sr.ht/~sthagen/kodegenerering/log)

## Documentation

User and developer [documentation of kodegenerering](https://codes.dilettant.life/docs/kodegenerering).

## Bug Tracker

Any feature requests or bug reports shall go to the [todos of kodegenerering](https://todo.sr.ht/~sthagen/kodegenerering).

## Primary Source repository

The main source of `kodegenerering` is on a mountain in central Switzerland.
We use distributed version control (git).
There is no central hub.
Every clone can become a new source for the benefit of all.
The preferred public clones of `kodegenerering` are:

* [on codeberg](https://codeberg.org/sthagen/kodegenerering) - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
* [at sourcehut](https://git.sr.ht/~sthagen/kodegenerering) - a collection of tools useful for software development.

## Contributions

Please do not submit "pull requests" (I found no way to disable that "feature" on GitHub).
If you like to share small changes under the repositories license please kindly do so by sending a patchset.
You can either send such a patchset per email using [git send-email](https://git-send-email.io) or 
if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at [sourcehut](https://git.sr.ht/).

## Status

Experimental.

**Note**: The default branch is `default`.
koordinaatit 2023.10.22
Coordinates (Finnish: koordinatit) - experimental round trip conversion API for lofty coordinates.
Requires Python: >=3.9
Keywords: developer-tools,verification

# Koordinaatit

Experimental round trip conversion API for lofty coordinates implemented in python.

[License: MIT](https://git.sr.ht/~sthagen/koordinaatit/tree/default/item/LICENSE) | 
[Country of origin: Switzerland](https://git.sr.ht/~sthagen/koordinaatit/tree/default/item/COUNTRY-OF-ORIGIN) | 
[Export control classification number(ECCN): EAR99](https://git.sr.ht/~sthagen/koordinaatit/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)

Third party dependencies are documented in the folder [third-party](docs/third-party/README.md).

[![version](https://img.shields.io/pypi/v/koordinaatit.svg?style=flat)](https://pypi.python.org/pypi/koordinaatit/)
[![downloads](https://static.pepy.tech/badge/koordinaatit/month)](https://pepy.tech/project/koordinaatit)
[![wheel](https://img.shields.io/pypi/wheel/koordinaatit.svg?style=flat)](https://pypi.python.org/pypi/koordinaatit/)
[![supported-versions](https://img.shields.io/pypi/pyversions/koordinaatit.svg?style=flat)](https://pypi.python.org/pypi/koordinaatit/)
[![supported-implementations](https://img.shields.io/pypi/implementation/koordinaatit.svg?style=flat)](https://pypi.python.org/pypi/koordinaatit/)
[![maintenance-status](https://img.shields.io/github/commit-activity/y/sthagen/koordinaatit.svg?style=flat)](https://git.sr.ht/~sthagen/koordinaatit/log)

## Documentation

User and developer [documentation of koordinaatit](https://codes.dilettant.life/docs/koordinaatit).

## Bug Tracker

Any feature requests or bug reports shall go to the [todos of koordinaatit](https://todo.sr.ht/~sthagen/koordinaatit).

## Primary Source repository

The main source of `koordinaatit` is on a mountain in central Switzerland.
We use distributed version control (git).
There is no central hub.
Every clone can become a new source for the benefit of all.
The preferred public clones of `koordinaatit` are:

* [on codeberg](https://codeberg.org/sthagen/koordinaatit) - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
* [at sourcehut](https://git.sr.ht/~sthagen/koordinaatit) - a collection of tools useful for software development.

## Contributions

Please do not submit "pull requests" (I found no way to disable that "feature" on GitHub).
If you like to share small changes under the repositories license please kindly do so by sending a patchset.
You can either send such a patchset per email using [git send-email](https://git-send-email.io) or 
if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at [sourcehut](https://git.sr.ht/).

## Status

Experimental.

**Note**: The default branch is `default`.
zdd-algorithms 0.1.5
Implements the zdd algorithms that are on the wiki page
Keywords: python,zdd,bdd,zsdd,zero-suppressed,decision diagram

# Zdd Algorithms

Zdd algorithms is a Python library that implements the zdd algorithms that are described on the [wikipedia page](https://en.wikipedia.org/wiki/Zero-suppressed_decision_diagram). With some additional functions for creating a zdd from a set, a set from a zdd and a function to create an image of the zdd.

## Installation

Use the package manager [pip](https://pip.pypa.io/en/stable/) to install zdd_algorithms.

```bash
pip install zdd-algorithms
```

## Zero-suppressed decision diagram

Zdd are a special kind of binary decision diagram that represents a set of sets.

<p align="center">
  <img src="https://raw.githubusercontent.com/Thilo-J/zdd_algorithms/e4185fbbc28a4c59e93c847044b9b9964523dd19/13_23_12.png" alt="zdd"/>
</p>

This Zdd represents the set {{1,3},{2,3},{1,2}} \
Every node has a exactly 2 outgoing edges LO and HI. The LO edge is usally represented by a dotted line and the HI edge with a solid line.
The easiest way to get the set from a visual zdd by hand is to take every path from the root node to the {ø} node(⊤ is also often used as a label for this node).\
Every path represents a set and all paths combined is the set of sets that the Zdd represents.
In this example there are 3 paths from the root node to {ø}. \
If a node has a LO edge in the path that nodes value is ignored. All the other values together represents a set \
3 → 2 → {ø} This path represents the set {3,2} \
3 ⇢ 2 → 1 → {ø} This path represents the set {1,2} \
3 → 2 ⇢ 1 → {ø} This path represents the set {1,3} \
Therefor this zdd represents the set {{1,3},{2,3},{1,2}}

## Usage

Since we cannot have a set of sets in python we use set of frozensets when converting a zdd to the set representation and vice versa

```python
import zdd_algorithms as zdd

# Creates a set of frozensets
set1 = {
    frozenset({1,3}),
    frozenset({2,3})
}
# Create zdd from the set. This zdd represent now the set {{1,3},{2,3}}
zdd1 = zdd.to_zdd(set1)

set2 = {
    frozenset({1,2})
}
zdd2 = zdd.to_zdd(set2)

# Create an union of two zdds
union = zdd.union(zdd1, zdd2)

# Create .PNG image of the zdd. This needs graphviz to be installed! 
zdd.create_image(union)
```

<p align="center">
  <img src="https://raw.githubusercontent.com/Thilo-J/zdd_algorithms/e4185fbbc28a4c59e93c847044b9b9964523dd19/13_23_12.png" alt="zdd"/>
</p>

## Contributing

Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.

## License

[MIT](https://choosealicense.com/licenses/mit/)