semvec/pypi-packages huggingface dataset:
astrostash 0.1.1
An astronomy/astrophysics database building and syncing library
Requires Python: >=3.10

![GitHub License](https://img.shields.io/github/license/nkphysics/astrostash)
![GitHub branch check runs](https://img.shields.io/github/check-runs/nkphysics/astrostash/master)


# astrostash

**An astronomy and astrophysics database building/syncing tool**

Astrostash is designed to allow users to "stash" query results from astronomy/astrophysics data sources (e.g., HEASARC) into a local SQLite3 database. This ensures data retention and reduces reliance on external services for recurring queries.

---

## 🌟 Features

- **Local data storage**: Retain copies of query results in a SQLite3 database so you can keep your own copy of the data you use and care about having access to.
- **Efficient querying**: Prioritizes querying from your local database before pulling data externally to limit external requests.

---
## Requirements

python >= 3.10

### 📦 Dependencies

- sqlite3
- `astroquery >= 0.4.10`
- `pandas >= 2.3.0`
- `SQLAlchemy >= 2.0.43`

---

## 🚧 Current State

**Version**: `v0.1.1`
**Status**: Alpha

**Supported Archives**: 

- HEASARC 

---

## 📥 Installation

1. Clone the repo

2. Run `python -m pip install .`

OR

Run `pip install astrostash`
option-price-repair 0.3.0
Repair arbitrage in European call option prices.
Requires Python: >=3.9
Keywords: option, price, repair, finance, arbitrage, data, typing

# option_price_repair: Repair Arbitrage in Option Prices

An pure-python implementation of the arbitrage repair algorithm described in
[Detect and Repair Arbitrage in Price Data of Traded Options](https://arxiv.org/abs/2008.09454).

Perturbs a set of European call option prices (of arbitrary strike and expiry)
on the same underlyer to ensure that certain no-arbitrage conditions
are met.

```python
# pip install option-price-repair[cvxpy,analysis]
import polars as pl
from option_price_repair import repair

input_file = "https://raw.githubusercontent.com/vicaws/arbitragerepair/refs/heads/master/data/sample.csv" # authors' sample data
use_bid_ask = True # use bid-ask -based optim

# prepare data
data = pl.read_csv(input_file)
mids = data.filter(pl.col("quote").eq("mid"))
t = mids.get_column("expiry").to_list()
k = mids.get_column("strike").to_list()
c = mids.get_column("call_fv").to_list()
fwd = mids.get_column("forward").to_list()
bid = data.filter(pl.col("quote").eq("bid")).get_column("call_fv").to_list()
ask = data.filter(pl.col("quote").eq("ask")).get_column("call_fv").to_list()
f = {t: fwd for t, fwd in zip(t, fwd)}

bid_ask = {"bid": bid, "ask": ask} if use_bid_ask else None
repaired_prices repair(k, t, c, bid_ask, f, None, verbose=True, plot=True, output_dir=".")
```

## Installation

With cvxpy solver:

`pip install option-price-repair[cvxpy]`

Without a solver:

`pip install option-price-repair`

With (optional) perturbation plots:

`pip install option-price-repair[cvxpy,analysis]`

## Features

* MIT license
* Minimal dependencies (only the solver you choose)
* Solver agnostic: cvxpy (Apache 2.0 license) solver implementation is provided,
simple to add your own solver
* Verified against the authors' implementation
[here](https://github.com/vicaws/arbitragerepair)

## User Guide

See `__init__.py` for the main entrypoint; `repair.py` for core functions
which normalize data and construct constraints, and `cvxpy.py` for
a sample solver implementation.

## License

Licensed under the MIT license.
pytmb 0.1.1b1
An unofficial python client for Barcelona public transport (TMB) API.
Requires Python: >=3.10

# PyTMB

Unofficial Python client for the Barcelona public transport (TMB) API.

> This library is not affiliated with TMB. Use responsibly and respect the API Terms of Service.

## Features

- Bus ETA lookup (`IBusClient.get_eta`)
- Metro ETA lookup (`IMetroClient.get_eta`)
- Planner routing with summary or full detail (`PlannerClient.calculate_routes`)
- Summary-by-default overloads (`detail="full"` for raw typed responses)
- Pydantic models for structured responses; simple sync API using `requests`

## Requirements

- Python >= 3.10
- `app_id` and `app_key` from TMB's developer portal.
    - Register at: https://developer.tmb.cat/

## Installation

PyPI:

```bash
pip install pytmb
```

From source (clone this repository):

```bash
pip install .
```

## Quick Start

```python
from pytmb import IBusClient, IMetroClient, PlannerClient

BUS_STOP_CODE = "1234"        # Replace with a real stop code
METRO_STATIONS = [123, 456]    # Replace with real station codes

app_id = "YOUR_APP_ID"
app_key = "YOUR_APP_KEY"

# Bus ETA
bus_client = IBusClient(app_id=app_id, app_key=app_key)
bus_etas = bus_client.get_eta(BUS_STOP_CODE, line="H10")  # default: summarized objects (list[BusEtaInfo])
for eta in bus_etas:
	print(f"Bus {eta.line_name} to {eta.destination} arriving in {eta.eta_minutes} min (ramp={eta.ramp_status})")

# Or get the full raw response (typed)
bus_raw = bus_client.get_eta(BUS_STOP_CODE, detail="full")  # -> BusEtaResponse
print(bus_raw.timestamp, len(bus_raw.stops))

# Metro ETA
metro_client = IMetroClient(app_id=app_id, app_key=app_key)
metro_etas = metro_client.get_eta(METRO_STATIONS, line="L1")  # summarized by default (list[MetroEtaInfo])
for eta in metro_etas:
	print(f"Metro {eta.line_name} to {eta.destination} arriving in {eta.eta_minutes} min at station {eta.station_code}")

# Or full raw response
metro_raw = metro_client.get_eta(METRO_STATIONS, detail="full")  # -> MetroEtaResponse
print(metro_raw.timestamp, len(metro_raw.lines))

# Planner (summary by default)
planner = PlannerClient(app_id=app_id, app_key=app_key)
itins = planner.calculate_routes((41.40, 2.18), (41.41, 2.16))  # list[PlannerItineraryInfo]
for i in itins[:3]:  # show first few
	print(i.overview, i.duration_in_minutes, "min")

# Full planner response
full_plan = planner.calculate_routes((41.40, 2.18), (41.41, 2.16), detail="full")  # -> PlannerResponse
print(len(full_plan.plan.itineraries) if full_plan.plan else 0)
```

## Roadmap / Ideas

- Transit lines & routes re-enabled once completed
- Additional endpoints (stops, alerts)

## License

See `LICENSE` file.

## Disclaimer

All trademarks and data belong to TMB. This is a community project.
pythoncharmers-meta 0.7.8
Meta package with dependencies for Python Charmers training courses
Requires Python: >=3.10

# Python Charmers meta-package

This is a meta-package for [Python Charmers](https://pythoncharmers.com)
training participants. This depends on many packages used in Python Charmers
training courses.

This package is intended to be used from a Python Charmers Hub in the cloud
like https://cpuhub.pythoncharmers.com.

## Installation

Install it like this:

```
pip install pythoncharmers-meta
```

or, if you have [uv](https://docs.astral.sh/uv/), this will be much faster:

```
uv pip install pythoncharmers-meta
```

## Optional packages (extras)

The following sets of optional packages ("extras") are available:

- `analytics`: data analytics
- `db`: packages for interfacing with various databases
- `gis`: geospatial analysis
- `ml`: "classical" machine learning
- `dl`: deep learning (a strict superset of [ml])
- `net`: network engineering, concurrency
- `scieng`: scientific and engineering computing
- `testing`: testing, linting, doc generation
- `web`: web dev

This extra helps with building course notes:

- `docs`

You can add them like this:

```
uv pip install "pythoncharmers-meta[gis, ml]" --reinstall
```

## Cutting a new release

```
uv build
uvx twine upload dist/*
```