semvec/pypi-packages huggingface dataset:
Stats265-distributions 0.4
Some Stats distributions
Requires Python: >=3.6

# DistributionPackage
A pip package which will hopefully have all the distributions from STATS265(Stats 1) - Ualberta soon


Currently:
* Bernoulli
* Binomial
* Gaussian (Normal)


Strongly recommend running it on a virtual environment! (as I'm still learning packages)
* https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/
* https://mothergeo-py.readthedocs.io/en/latest/development/how-to/venv-win.html


Testing was done using unittest library https://docs.python.org/3/library/unittest.html

Installation:
    pip install gozhora-distributions
 
Some need packages:
    * matplotlib


# Documentation:
    * Calling a distribution
        * from gozhora_distributions import Bernoulli
            * g = Bernolli(p = 0.7)
        * from gozhora_distributions import Gaussian
            * g = Gaussian(mean, stdev)
        * from gozhora_distributions import Binomial
            * g = Binomial(p = 0.7, n = 20)

    * Methods of distributions (varies for obvious reasons)
        * calculate_mean()
            calculates and returns the mean
        * calculate_stdev()
            calculates and returns the standard deviation of the distribution

        * plot_histogram()
            plots a histogram of the data

        * pdf(x)
            returns probability density function for a value x

        * plot_histogram_pdf()
            Plots histogram of data and pdf

        * add(Distribution)
            Add a type of distribution with another
                same type only for now

        * __repr__():
            Allows for representation on a print call
flipgenic 2.2.1
High-speed conversational dialogue engine
Requires Python: >=3.6,<4
Keywords: conversation dialogue engine chat chatbot

<p align="center">
  <img
    src="images/header.png"
    alt="Flipgenic: High-speed conversational dialogue engine"
  />
</p>

---

## What is it?

Flipgenic is a library for creating simple chatbots. A Flipgenic bot starts
with an empty mind and learns how to communicate over time by reusing messages
it has seen in previous conversations. It does not write anything original.

Here is an example from its use in [Axyn](https://github.com/danth/axyn):

![Screenshot of example conversation](images/Screenshot_20200426_124703.png)

Flipgenic is focused on fast reply times and a simple API.
[Chatterbot](https://chatterbot.readthedocs.io/en/stable/), a more well-known
library, has additional features such as custom filters and logic adapters.

## How do I use it?

Here is a basic example:

```python
# python -m pip install flipgenic
# python -m spacy download en_core_web_md

from flipgenic import Responder

# Create and connect to database
# This can take a while to load the spaCy models
responder = Responder('/path/to/data/folder/')

# Initialize the database with a single response
responder.learn_response('Hello', 'Hi!')

response = None
while True:
    text = input('> ')

    if response:
        # Learn the input as a response to the previous output
        responder.learn_response(response, text)

    # Generate a response
    response, distance = responder.get_response(text)
    print(response.text, f'({distance})')
```

**For more, see [ReadTheDocs](https://flipgenic.readthedocs.io/en/latest/quickstart.html).**

## How does it work?

1. Upon calling `get_response`, the input is converted to a 300-dimensional
   vector. The vector embeddings for each word are provided by
   [SpaCy](https://spacy.io/api/token#vector); calculating the mean gives a
   single vector representing the whole text.
2. A closest match is found by searching the vectors of previously seen
   messages. An [NGT](https://github.com/yahoojapan/NGT) index improves
   performance.
3. The search result corresponds to one or more known responses. These
   responses are stored in an SQLite database.
4. We select a matching response at random. The same response might have been
   learned more than once, giving it a higher chance of selection.
5. Along with the selected response, the distance between the input vector and
   the search result is returned as a confidence heuristic.
zycelium.ansiformat 0.1.1
ANSI Formatted Text for Terminals.
Requires Python: >=3.7

# ansiformat

ANSI Formatted Text for Terminals.

## AnsiFormat for Custom Formatting

### Colors

```python
from zycelium.ansiformat import AnsiFormat

af = AnsiFormat()

print(af("Red text on default background").red)
print(af("Default text on lime background").on.lime)
print(af("Black text on yellow background").black.on.yellow)
print(af("Black text on cyan background").black.on.color("#00ffff"))
print(af("Red text on yellow background").color("#ff0000").on.color("#ffff00"))
```

### Effects

```python
from zycelium.ansiformat import AnsiFormat

af = AnsiFormat()

print(af("Bold").bold)
print(af("Dim").dim)
print(af("Italic").italic)
print(af("Underline").underline)
print(af("Blink").blink)
print(af("Inverse").inverse)
print(af("Hidden").hidden)
print(af("Strike").strike)
```

### Using Colors and Effects Together

```python
from zycelium.ansiformat import AnsiFormat

af = AnsiFormat()

print(af("Red text on default background, bold").red.bold)
print(af("Same, but with shortcut (b) for bold").red.b)
print(af("Same, but with shortcut (i) for italic").red.i)
print(af("Default text on lime background, with strike-through").on.lime.strike)
print(af("Black text on yellow background, underlined").black.on.yellow.underline)
print(af("Black text on cyan background, blinking").black.on.color("#00ffff").blink)
print(af("Red text on yellow background, inversed").color("#ff0000").on.color("#ffff00").inverse)
```

## AnsiMarkup for Quick Formatting

```python
from zycelium.ansiformat import AnsiMarkup, palette

m = AnsiMarkup(palette=palette.midnight_ablaze)

print(m.debug("debug"))
print(m.info("info"))
print(m.ok("ok"))
print(m.warning("warning"))
print(m.error("error"))
print(m.critical("critical"))

print(m.p("paragraph"))
print(m.aside("aside"))
print(m.note("note"))
print(m.alert("alert"))

print(m.h1("heading one"))
print(m.h2("heading two"))
print(m.h3("heading three"))
print(m.h4("heading four"))
print(m.h5("heading five"))
print(m.h6("heading six"))

with m.indent():
    print(m.li("list item 1"))
    print(m.li("list item 2"))
    with m.indent():
        print(m.li("list item 2.1"))
        print(m.li("list item 2.2"))
```