semvec/pypi-packages huggingface dataset:
caltopo-python 2.0.0
Python interface to unofficial CalTopo API

<img src='https://raw.githubusercontent.com/ncssar/caltopo_python/main/docs/source/_static/caltopo_python_logo.png' width=200px>

# caltopo_python

See this project's [ReadTheDocs page](https://caltopo-python.readthedocs.io/en/latest/index.html).

CalTopo is a very popular web-browser-based and smartphone-app-based mapping tool. SARTopo is a mostly-obsolete name that refers to a set of Search-And-Rescue-specific features inside the CalTopo tool. See [caltopo.com](https://caltopo.com) and [training.caltopo.com](https://training.caltopo.com).

Being a web-based tool, CalTopo uses a web API to accomplish most user actions. The API is not currently documented or developed for general public use, and could change at any time.

This module provides a â€˜sessionâ€™ object which manages a data connection to a hosted map, and provides several wrapper methods and convenience methods that make calls to the non-publicized CalTopo API.

If your CalTopo account is a member of a SAR team account, you can use this module for SAR-specific features on a caltopo.com map.

**This third-party module is not written or maintained by CalTopo LLC or the authors of caltopo.com.**

**DISCLAIMER: This module can edit and delete CalTopo map features. At the time of this moduleâ€™s publication, CalTopo does not have any â€˜undoâ€™ capability.** Only you can take steps to prevent loss of map data due to use of this module - whether due to accidental misuse, or due to an unexpected bug in the module. You should always consider exporting a full GeoJSON from your map before using this code.

## Categories of provided class methods:
- account data access
- feature creation
- feature editing
- feature querying
- feature deletion
- geometry operations

## Installation
Install this package in the usual manner:
```
pip install caltopo_python
```

To activate online requests, you will need to determine your account ID, credential ID, and public key. See details at the [ReadTheDocs Credentials page](https://caltopo-python.readthedocs.io/en/latest/credentials.html).

**NOTE: caltopo_python was formerly called sartopo_python. caltopo_python 1.0.x will be identical to sartopo_python 2.0.x.**

For more information, see the [ReadTheDocs Migration page](https://caltopo-python.readthedocs.io/en/latest/migration.html).
generic-api-client 0.0.1
Interact with APIs through methods and pydantic models
Requires Python: >=3.10
Keywords: open, api, client, generic, rest

# Generic API Client

Interact with APIs through methods and pydantic models.

## Features

TODO

## Installation

```bash
pip install generic_api_client
```
## Usage

TODO

## License 

The project is released under the MIT License.

## Project Status

> **NOTE** <br>
> The project is currently in development phase. If you have any remark or question feel free to open an Issue
eb-examples 0.2.0
Electric Barometer: runnable examples, demo datasets, and end-to-end golden-path pipelines.
Requires Python: >=3.10
Keywords: electric-barometer, forecasting, examples, demo-dataset, pipelines, readiness, governance, pandas

# eb-examples
Example notebooks, sample datasets, and demonstration workflows for the Electric Barometer and EB Metrics ecosystem. Includes forecasting demos, model comparisons, and cost-sensitive metric tutorials.
pyrdfa3 3.6.5
pyRdfa distiller/parser library
Requires Python: >=3.8


[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.14547.svg)](http://dx.doi.org/10.5281/zenodo.14547)

> **Note:** since I retired a few months ago I do not really maintain this package any more. I would be more than happy if an interested party was interested to take over. In the meantime, I have "archived" the repository to clearly signal that there is no maintenance. I would be happy to unarchive it and transfer ownership if someone is interested.    
> [@iherman](https://github.com/iherman)

> **This new version 3.6.5 is now built and maintained on [prrvchr.github.io/pyrdfa3][1]**

The package can be installed from [PyPI][2] with command:  

`pip install pyRdfa3`

PyRDFA
======

What is it
----------

pyRdfa distiller/parser library. The distribution contains:

- [./src/pyRdfa][3]: the Python library. You should copy the directory somewhere into your PYTHONPATH.  
  Alternatively, you can also install from [Python Package Index][2] with command:  
  `pip install pyRdfa3`

- [./scripts/CGI_RDFa.py][4]: can be used as a CGI script to invoke the library.  
  It has to be adapted to the local server setup, namely in setting the right paths.  
  This script has not been ported to Python 3.x. Open a [new issue][5] if you need it.

- [./scripts/localRdfa.py][6]: script that can be run locally on to transform a file into RDF (on the standard output).  
  Run the script with `-h` to get the available flags.  
  This script has not been ported to Python 3.x. Open a [new issue][5] if you need it.

- [./doc][7]: pyRdfa3 [documentation][8] of the classes and functions (thanks to [pdoc][9]).

The package primarily depends on:
- Python version 3.8 or higher.
- [requests][10]: version 2.32.3 or higher.
- [rdflib][11]: version 7.0.0 or higher.
- [html5lib][12]: version 1.1.

The package has been tested on Python version 3.8 and higher (no more support for Python 2.x).

For the details on RDFa 1.1, see:

- <http://www.w3.org/TR/rdfa-core>
- <http://www.w3.org/TR/rdfa-lite/>
- <http://www.w3.org/TR/xhtml-rdfa/>
- <http://www.w3.org/TR/rdfa-in-html/>

possibly:

- <http://www.w3.org/TR/rdfa-primer/>

[1]: <https://github.com/prrvchr/pyrdfa3/>
[2]: <https://pypi.org/project/pyRdfa3/>
[3]: <https://github.com/prrvchr/pyrdfa3/tree/master/src/pyRdfa>
[4]: <https://github.com/prrvchr/pyrdfa3/blob/master/scripts/CGI_RDFa.py>
[5]: <https://github.com/prrvchr/pyrdfa3/issues/new>
[6]: <https://github.com/prrvchr/pyrdfa3/blob/master/scripts/localRdfa.py>
[7]: <https://github.com/prrvchr/pyrdfa3/blob/master/doc/>
[8]: <https://prrvchr.github.io/pyrdfa3/doc/pyRdfa.html>
[9]: <https://pdoc.dev/docs/pdoc.html>
[10]: <https://pypi.org/project/requests/2.32.3/>
[11]: <https://pypi.org/project/rdflib/7.0.0/>
[12]: <https://pypi.org/project/html5lib/1.1/>
tgstorage-cluster 1.0.2
A lightweight, high-performance file storage API using Telegram as a backend.
Requires Python: >=3.10

# 📦 TG Storage Cluster

![Python](https://img.shields.io/badge/Python-3.10+-blue?style=for-the-badge&logo=python)
![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-green?style=for-the-badge&logo=fastapi)
![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)
![Developer](https://img.shields.io/badge/Developer-DraxonV1-orange?style=for-the-badge)

A lightweight, high-performance file storage API that transforms Telegram into an infinite, scalable backend. 

---

## 🚀 Installation

Install the package directly via pip:

```bash
pip install tgstorage-cluster
```

## 🛠️ Setup & Usage

### 1. Configuration
The package looks for a `.env` file and a `tokens.txt` file in your **current working directory**.

1. Create a `.env` file:
```env
API_ID=your_id
API_HASH=your_hash
CHANNEL_ID=your_channel_id
ADMIN_API_KEY=your_secret_key
BASE_URL=http://localhost
```

2. Create a `tokens.txt` file and add your bot tokens (one per line).

### 2. Run the Server
You can start the storage server using the built-in CLI command:

```bash
tgstorage
```
The server will start on `http://localhost:8082`.

### 3. Generate API Keys
Manage your client keys using the management CLI:

```bash
tgstorage-key --owner "MyWebApp"
```

---

## 📦 Integration in your Python Code

You can use the cluster logic directly in your own projects without running the FastAPI server:

```python
import asyncio
from tgstorage.bot import cluster

async def upload_something():
    # It will automatically load config from your current directory's .env
    bot = await cluster.get_healthy_bot()
    with open("image.png", "rb") as f:
        msg = await bot.send_document(
            chat_id=-100123456789, 
            document=f, 
            filename="image.png"
        )
    print(f"File uploaded! Message ID: {msg.message_id}")

asyncio.run(upload_something())
```

---

## 📜 License
MIT