semvec/pypi-packages huggingface dataset:
freactor 1.0.1
lightweight flow-control framework (sync + async support)
Requires Python: >=3.8

# Freactor

Freactor is a lightweight flow-control framework for Python.
It provides a simple way to define task pipelines using reducers and step transitions, supporting both synchronous and asynchronous (asyncio) execution.

# Features

Task orchestration with clear step transitions (SUCCESS, FAILURE, RETRY, ABORT).

Reducer decorators with automatic retry/delay logic.

Async support: AsyncFreactor + async_freducer for coroutine-based workflows.

Logging with task IDs for easy observability.

High performance:

~20–35k async tasks/sec per process (I/O bound).

Supports 1M+ reducer steps per process in a single event loop.

Minimal dependencies, works with Python 3.8+.

# Installation

```
pip install freactor
```

Or install in development mode:
```
git clone https://github.com/Pro-YY/freactor.git
cd freactor
pip install -e .
```


# Quick Start
## 1. Define Reducers
```
import asyncio
import logging
from freactor import StatusCode, async_freducer

log = logging.getLogger(__name__)

SUCCESS = StatusCode.SUCCESS

@async_freducer(retry=3, delay=1)
async def step1(data):
    log.info(f"[task {data['_task_id']}] step1 running...")
    await asyncio.sleep(1)  # simulate async workload
    return SUCCESS, {"step1": True}, "done"
```

## 2. Configure Task Flow
```
TASK_CONFIG = {
    "example_task": {
        "init_step": ("example_reducers", "step1"),
        "table": {
            ("example_reducers", "step1"): {SUCCESS: None}
        },
    }
}
```

## 3. Run Tasks with AsyncFreactor
```
import asyncio
from freactor import AsyncFreactor

async def main():
    f = AsyncFreactor(
        {"task_config": TASK_CONFIG, "import_reducer_prefix": "example_reducers."},
        num_actors=8,
    )
    await f.run_task("example_task", {"param": "demo"})
    await f.run_forever()

asyncio.run(main())
```


# Benchmarks

AsyncFreactor:

100k tasks in ~4.3s (≈22k tasks/s).

1M tasks in ~45s on a 10-core machine.

Multiprocessing scaling:
Combine multiple processes (each with its own actors) or connect pods via Redis Streams / RabbitMQ for horizontal scalability.

# License

[MIT]
This project is licensed under the [MIT License](./LICENSE).
environment-helpers 0.3.0
Collection of helpers for managing Python environments
Requires Python: >=3.10

# environment-helpers

[![CI test](https://github.com/FFY00/environment-helpers/actions/workflows/test.yml/badge.svg)](https://github.com/FFY00/environment-helpers/actions/workflows/test.yml)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/FFY00/environment-helpers/main.svg)](https://results.pre-commit.ci/latest/github/FFY00/environment-helpers/main)
[![codecov](https://codecov.io/gh/FFY00/environment-helpers/graph/badge.svg)](https://codecov.io/gh/FFY00/environment-helpers)

[![Documentation Status](https://readthedocs.org/projects/environment-helpers/badge/?version=latest)](https://environment-helpers.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://badge.fury.io/py/environment-helpers.svg)](https://pypi.org/project/environment-helpers/)

Collection of helpers for managing Python environments.
golden-retrievers 0.1.0
Stories about the wonderful goldens
Requires Python: >=3.12

# ai_environment
Configurator for a Python AI environment for SupportVectors AI training labs

1. `git clone` the repo to a folder of your choice
2. For a new uv project that you want to create, follow the below steps:
   
   ```shell
    uv init <my_project> --python=3.12
    cd <my_project>
    cp <my_path>/ai_environment/ensure_config.sh ./
    cp <my_path>/ai_environment/docs.tgz ./
    chmod +x ./ensure_config.sh
    ./ensure_config.sh ## Enter the appropriate path, project, description, url when prompted during the run of ensure_config.sh
   ```
3. Your project setup for `<my_project>` is now complete.
4. Note that these steps are needed only when you create a completely new UV based python project using the best practices recommended by SupportVectors.  If you are downloading an existing code repo uploaded by the SupportVectors team, you would just have to download the code repo and follow the steps as given in the project guide within the repo.
py-the-news-api 0.1.0
A Python wrapper for The News API.
Requires Python: >=3.12

# The News API Python Wrapper

This package provides an asynchronous Python client for [The News API](https://www.thenewsapi.com/), allowing you to easily fetch headlines, top stories, all news, sources, and similar articles.

## Features

- Async API client using `httpx`
- Typed responses via Pydantic models
- Category validation
- Context manager support for resource management

## Endpoints

The client exposes the following endpoints:

- **get_headlines**: Get the latest headlines.
- **get_top_stories**: Fetch top stories with advanced filtering.
- **get_all_news**: Retrieve all news articles with search and filter options.
- **get_sources**: List available news sources.
- **get_similar_news**: Find articles similar to a given article UUID.
- **get_news_by_uuid**: Fetch a single article by its UUID.

## Installation

```bash
pip install py-the-news-api
```

## Usage

```python
import asyncio
from the_news_api.client import NewsAPIClient

async def main():
    async with NewsAPIClient(api_token="YOUR_API_TOKEN") as client:
        headlines = await client.get_headlines(language="en")
        print(headlines)

asyncio.run(main())
```

### Example: Fetch Top Stories

```python
async with NewsAPIClient(api_token="YOUR_API_TOKEN") as client:
    stories = await client.get_top_stories(categories=["tech", "science"], limit=5)
    for article in stories.articles:
        print(article.title)
```

## Category Filtering

Supported categories:

- `general`, `science`, `sports`, `business`, `health`, `entertainment`, `tech`, `politics`, `food`, `travel`

## License

MIT

## Links

- [The News API Documentation](https://www.thenewsapi.com/docs)
- [GitHub Repository](https://github.com/Karsten-Larson/the-news-api)
pythonic-fp-sentinels 2.1.3
Sentinels
Requires Python: >=3.13
Keywords: sentinel, singleton

Pythonic FP - Sentinels
=======================

PyPI project
`pythonic-fp-sentinels
<https://pypi.org/project/pythonic-fp.sentinels>`_ **(DEPRICATED)**.

Singleton classes representing

- missing values, actually missing, not potentially missing
- sentinel values of different flavors

This PyPI project has been **DEPRICATED** and all its source code
has been moved to the pythonic-fp-gadgets PyPI project.
Both projects are part of of the grscheller
`pythonic-fp namespace projects
<https://github.com/grscheller/pythonic-fp/blob/main/README.md>`_.

The reason of the move was to make all the gadgets code independent
of any external dependencies other than the Python Standard Library.
The two pythonic_fp.sentinel modules, ``flavored`` and ``novalue``
are more or less feature complete and are not likely to change much
in the future.

Documentation
-------------

Documentation for this project is hosted on
`GitHub Pages
<https://grscheller.github.io/pythonic-fp/sentinels/development/build/html>`_.

Copyright and License
---------------------

Copyright (c) 2023-2025 Geoffrey R. Scheller. Licensed under the Apache
License, Version 2.0. See the LICENSE file for details.