semvec/pypi-packages huggingface dataset:
fast-dep 0.0.4
Fast python depdency tracing.
License: MIT
Requires Python: >=3.7

# fast-dep

Fast python dependency tracing, from Rust.

```
pip install fast-dep
```

**NOTE:** There is currently some issue with running PyO3 code in MacOS conda environments, see more details [here]. We currently recommend using `pyenv` installs which work on that OS. See instruction below.


## Installing PyEnv (For MacOS)

Install `pyenv`.

```
brew install pyenv
```

Place the following in your `.zshrc` or `.profile`.

```
eval "$(pyenv init -)"
```

Install a specific version of Python.

```
PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install X.Y.Z
```

Get a shell with this previously installed Python version.

```
pyenv shell X.Y.Z
```

Then install fast dep.

```
pip install fast-dep
```

## Development

#### Building from source

Install rust from [rustup.rs](https://rustup.rs/) then run the following to build the python package for your current environment.

```
pip install -e ".[test]"
```

You can also build without installing by using the following method.

```
pip install maturin
maturin build
```

#### Running tests

```
python -m pytest pytests
```
result-reporter 0.2.1
A context manager to report results to and endpoint.
License: MIT
Requires Python: >=3.8

# Result Reporter Client

This client will report results of a function execution to an endpoint. This
can be especially useful for determining how many students in a class are
successfully completing an exercise.


### Usage

```
import rr

# Define endpoint to send results to.
rr.set_global_endpoint('https://result-reporter.com/ingest')
# User-Assignment identification token. This is provided by Result-Reporter.com
rr.set_global_token('f0c3f-1234-abcd-1234-740e2cf8daf8')


def fibonacci(n: int) -> int:
    # Left for your students to implement.
    pass


# Tests provided for your students.
with rr.Wrap(fibonacci) as f:
    assert f(0) == 0
    assert f(1) == 1
    assert f(2) == 1
    assert f(3) == 2
    assert f(4) == 3
    assert f(5) == 5
    assert f(6) == 8
```

Results will then be available for visualization via the result server.

### Installation

```
$ pip install result-reporter
```
campbells 0.3.0
A condensed web scraping library.
License: MIT
Requires Python: >=3.10
Keywords: HTML XML parse soup

<div align="center">

# Campbells 🥫

A condensed web scraping library.

[Install](#installation) •
[Examples](#examples)

</div>

Adapted from [beautifulsoup4][bs4]'s inner package, then linted, refactored, reduced, and seasoned to taste.

[bs4]: https://beautiful-soup-4.readthedocs.io/

## Development

To run pre-commit checks and tests:

```sh
pre-commit run --all-files && pdm run python -m pytest
```

## Examples

To parse a string as HTML, your reciple should call for `CampbellsSoup`:

```py
from campbells import CampbellsSoup

html_str = "<html><body><p>Hello world!</p></body></html>"
soup = CampbellsSoup(html_str)
```

## Installation

**Campbells** is available on PyPi:

``` bash
pip install campbells
```

The dependencies needed to use `html5lib` and `lxml` parsers are not installed by default.
They can be installed with:

- `pip install campbells[html5lib]` to be able to use
  [html5lib](https://html5lib.readthedocs.io/en/latest/).
  - **Pros:** closest to how browsers parses web pages, very lenient, creates valid HTML5.
  - **Cons:** slowest parser.
- `pip install campbells[lxml]` to be able to use
  [lxml](https://lxml.de/).
  - **Pros:** fastest parser.
  - **Cons:** heavier dependency (C extension).
soagen 0.7.0
Struct-of-Arrays for C++.
License: MIT
Requires Python: >=3.9
Keywords: c++,soa,struct-of-arrays,structure-of-arrays,struct of arrays,structure of arrays,parallel-arrays,parallel arrays,std::vector

# soagen

Struct-of-Arrays for C++.

[![Sponsor](docs/images/badge-sponsor.svg)][sponsor]
[![Gitter](docs/images/badge-gitter.svg)][gitter]

<br><br>

<p align="center">
	<strong>✨&#xFE0F; This README is a stub. Please see the HTML documentation: <a href="https://marzer.github.io/soagen/">marzer.github.io/soagen</a>✨&#xFE0F;</strong>
</p>

<br><br>

[gitter]: https://gitter.im/marzer/community
[sponsor]: https://github.com/sponsors/marzer

# Changelog

## v0.7.0

-   Fixed rvalue row corruption bug on MSVC ([info](https://developercommunity.visualstudio.com/t/C:-Corrupt-references-when-creating-a/10446877))
-   Fuxed some SFINAE issues
-   Added `Cols...` selector template parameter to `at()`, `front()` and `back()`
-   Added `structs.mixins`
-   Added copy-based fallbacks for `unordered_erase()`, `insert()`, `emplace()` and `swap_columns()` (previously they required movability)

## v0.6.0

-   Fixed `swap_columns()` fast-path breaking `data()`
-   Added spans
    -   Added `span`
    -   Added `is_span<>`
    -   Added `table::subspan()` and `table::const_subspan()`
    -   Added `span_type<>` and `const_span_type<>`
-   Added `soa_type<>`
-   Added `const_iterator_type<>`
-   Added `const_row_type<>`
-   Added `column_indices<>`
-   Added `soagen::for_each_column()`
-   Added `row::for_each_column()`
-   Added generic names `first`, `second`, ..., `sixteenth` for unnamed columns 0-15
-   Binary size improvements
-   Documentation improvements

## v0.5.0

-   Added rows to `soagen::table`
-   Added iterators to `soagen::table`
-   Added `soagen::table::for_each_column()`

## v0.4.0

-   Fixed `soagen::is_table<>`
-   Added support for emplace-constructing column values by unpacking all `std::tuple`-like types (not just the `emplacer`)
-   Added support for taking `std::integral_constants` in `for_each_column()`
-   Added `soagen::same_table_type<>`
-   Added conversions between `soagen::row<>` specializations
-   Optimized instantiation overhead for most type-traits

## v0.3.0

-   Added `hpp.combined`
-   Added `std::integral_constant<size_t>` to the overload set used by `for_each_column()`
-   Added support for constructing rows from all `std::tuple`-like types
-   Optimized bulk-swap operations

## v0.2.0

-   Added `structs.annotations`
-   Added `structs.attributes`
-   Added `auto` option for `structs.default_constructible`
-   Added `soagen::row_base`
-   Added `soagen::table_base`
-   Added `soagen::iterator_base`
-   Added `Base` template argument to `soagen::table` for CRTP
-   Added `swap_columns<>()`
-   Made `column_indices` member struct into `enum class columns`

## v0.1.2

-   Minor refactors.

## v0.1.1

-   Minor refactors.

## v0.1.0

-   First public release 🎉&#xFE0F;
enquire 0.1.0
PyInquirer-inspired prompt library
License: MIT
Requires Python: >=3.10
Keywords: click,PyInquirer,prompt-toolkit,cli,command-line,commandline,command-line-interface,python-inquiry,inquirer

## enquire

### Goal

**Enquire** is a pet project with no ambitions. However, a bit of history might shed some light on the project goals.

> _It was a cold April morning and the dew on the grass was frozen like a tiny piece of glass._
> 
> _Eric Cartman_

I needed a modern cli prompt library to add some interactivity to my working projects.
[PyInquirer](https://github.com/CITGuru/PyInquirer) turned out to be the most easy-to-use 
and convenient among all the libs I could find.

Unfortunately, the latest version published on pypi had at least one critical bug: it completely ignored
the default value for `list` prompts. The GitHub version does not have that bug, however, it seems to be
abandoned for quite some years.

Since I only needed the basic, the radio button, and the checkbox types, these were implemented first.


### Installation

```commandline
pip install enquire
```

### Basic usage

```python
from enquire.prompt import prompt
from enquire.question import Text

if __name__ == "__main__":
    questions = [
        Text("name", "What's your name?", default="Christian")
    ]

    answers = prompt(questions)
    print(answers)
```


### Question types

#### Text

**Text** is the most basic prompt type. It asks you a question and waits for you to type an answer.
If there is a default value it will be pre-typed for you.

**Params**

`name` - a unique key in the answers dict

`message` - a message to show to user

`validate` - an optional function accepting the current answers dict and the current answer being typed by a user. 
The function must return `True` if the answer is valid. There are built-in validation functions in 
the library like `is_int`, `is_number` etc.

#### Checkbox

**Checkbox** prompt generates a list of checkboxes and asks a user to pick 0..n options.
The resulting answer will be an array of picked values.

### Radio

**Radio** prompt presents a list of options and asks a user to pick exactly one of them.


### Boolean

**Boolean** is a special prompt which is pre-configured **Radio** with only two options - positive and negative.
You can choose how these are named (the defaults are _yes_ and _no_)

---

_This documentation is a work in progress, check out the examples folder to get some usage tips_

To run an example clone the repo, install the dependencies, and run

```commandline
PYTHONPATH="." python examples/text.py
```