Skip to main content

pyPRUF: Possibilistic Relational Universal Fuzzy

Read the Docs (version) GitHub Release GitHub License

pyPRUF is a simple Python library implementation of the PRUF (Possibilistic Relational Universal Fuzzy) framework proposed by Lotfi A. Zadeh.

PRUF was an informal and incomplete mathematical framework, proposed by Lotfi A. Zadeh in his paper, which extended classical relational algebra theory of databases to a fuzzy-like relational algebra theory by integrating it with the multi-valued fuzzy logic and fuzzy set theory to handle uncertainty and imprecision in reasoning processes.

This library provides tools and utilities for creating, manipulating, and reasoning with fuzzy sets in the context of possibilistic logic. In addition to possibility qualifications, this tool can be used, also, to perform truth and probability qualifications (as defined in the paper).

At the moment, this library provides facilities that manage only discrete fuzzy sets however, it is designed in such a way that it can easily be expanded in the future to also handle continuous fuzzy sets.

At present, pyPRUF is still in its intial stages of development. This library could be improved in many ways and, time to time, it will be done!😊

It is recommended to have or obtain a solid foundation of knowledge in fuzzy logic and fuzzy set theory before reading the docs.

Key Features

  1. Fuzzy Logic
    1. t-norms, t-conorms and negations
    2. Linguistic Modifiers
  2. Fuzzy Relational Algebra
    1. Discrete Fuzzy Sets as Fuzzy Relations
    2. Union, Intersection and Difference
    3. Cartesian Product and Natural Join
    4. Selection and Particularization
    5. Renaming and Projection
    6. Extension Principle
    7. Reorder and extra methods
  3. Translation Rules
    1. Collapsing DiscreteFuzzySets
    2. Type I (Modification): Apply Linguistic Modifiers
    3. Type II (Composition): Cylindrical Extension
    4. Type III (Quantification): Normal / Mean Cardinality and Proportion
    5. Type IV (Qualification): Consistency and Compatibility
  4. Some Continuous Fuzzy Set facilities:
    1. Standard Membership Functions
    2. Temporary Implementation of some methods

WARNING: A python version higher than 3.11 is required.

Installation

Installing pyPRUF is straightforward. You can install it via pip:

pip install pyPRUF

License

pyPRUF is open-source and distributed under the GNU Lesser General Public License (LGPL) - see the LICENSE file for details.

Contributing

We welcome contributions from the community! If you'd like to contribute to pyPRUF, contact us.

Metadata

Release files for pyPRUF 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyPRUF 0.0.3
File Size Uploaded
pypruf-0.0.3.tar.gz 23.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyPRUF 0.0.3
File Interpreter ABI Platform
pyPRUF-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 47.1 kB

Release files / pypruf-0.0.3.tar.gz

Download URL pypruf-0.0.3.tar.gz
Size 23.8 kB
Tags Source
SHA-256 checksum
How to use checksums
752f69fa9643ad70e29d4f14ffbe0a63e0054704fce4ef75a51dacd80640e93a
BLAKE2b-256 checksum
How to use checksums
0fa65eb970e505aff9ae0eb41dfed6466f964511650926f893f93cfb7fd78378
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 23, 2025.

Transparency log

Release files / pyPRUF-0.0.3-py3-none-any.whl

Download URL pyPRUF-0.0.3-py3-none-any.whl
Size 23.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f51b3b67fe0e3c2f6efbecc2bd053dd1ba0e70ff5947afc02da0e50fb51493b
BLAKE2b-256 checksum
How to use checksums
256e60c8f686dafd6d9e4b0e91e136ec905b2270b1ad4401d1f3a6dcd0d03b34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.0.1 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 23, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page