semvec/pypi-packages huggingface dataset:
figya 0.1.1
A modern terminal calculator with unit conversions
Requires Python: >=3.10
Keywords: calculator, unit-conversion, repl, terminal

# figya

A modern terminal calculator with unit conversions, variables, and session persistence.

## Install

```bash
pipx install .
```

Or with pip in a virtual environment:

```bash
pip install .
```

## Usage

```bash
figya              # interactive REPL
figya -e "2+2"     # evaluate and exit
echo "5+5" | figya # piped input
```

### Math

```
figya> 2 + 2
  $1 = 4
figya> sin(pi/4)
  $2 = 0.7071067812
figya> 2^10
  $3 = 1,024
figya> 5!
  $4 = 120
figya> 2pi
  $5 = 6.283185307
```

### Unit Conversions

```
figya> 5 feet in meters
  $1 = 1.524 m
figya> 100 kg to pounds
  $2 = 220.4622622 lb
figya> 72 fahrenheit in celsius
  $3 = 22.22222222 °C
```

### Variables

```
figya> $radius = 5
  $radius = 5
figya> $radius * 2
  $1 = 10
figya> $_ + 1
  $2 = 11
```

### Commands

| Command | Description |
|---------|-------------|
| `help` | Show help |
| `list` | Show all variables |
| `save <name>` | Save workspace |
| `restore <name>` | Restore workspace |
| `delete $var` | Delete a variable |
| `clear` | Clear all variables |
| `quit` / `exit` | Quit |

### Functions

`sin`, `cos`, `tan`, `asin`, `acos`, `atan`, `sqrt`, `log`, `log2`, `ln`, `exp`, `abs`, `round`, `floor`, `ceil`, `factorial`, `degrees`, `radians`, `gcd`, `lcm`, `min`, `max`, `hex`, `oct`, `bin`

### Constants

`pi`, `e`, `tau`, `inf`

## Data

Session data is stored in `~/.local/share/figya/`.
graffiti-lookup-nyc 1.0.5
Query NYC 311 Graffiti Cleanup Requests via CLI and Python API.
Requires Python: >=3.8

# Graffiti Lookup NYC

This project provides a Python Class and CLI for looking up NYC 311 Graffiti Cleanup Requests.

## Setup
```
pip install -r requirements-dev.txt
```

It's also useful to install [`jq`](https://jqlang.github.io/jq/) to format the `JSON` output

## Usage

### Fetch by single SR ID
```
> python -m graffiti_lookup --id "G2589" | jq .
```
```json
{
  "address": "40-28 MAIN STREET, QUEENS",
  "service_request": "G2589",
  "created": "10/22/2003",
  "status": "Cleaning crew dispatched.  Property cleaned.",
  "last_updated": "10/22/2003"
}
```

### Fetch by multiple IDs:
```
> python -m graffiti_lookup --ids "G258700,G258801,G258900" | jq .
```
```json
[
  {
    "address": "1990 WESTCHESTER AVENUE, BRONX",
    "service_request": "G258700",
    "created": "12/17/2023",
    "status": "Cleaning crew dispatched. No graffiti on property.",
    "last_updated": "1/2/2024"
  },
  {
    "address": "180 ORCHARD STREET, MANHATTAN",
    "service_request": "G258801",
    "created": "12/19/2023",
    "status": "The property owner’s name cannot be determined.",
    "last_updated": "12/20/2023"
  },
  {
    "address": "153 ROEBLING STREET, BROOKLYN",
    "service_request": "G258900",
    "created": "12/21/2023",
    "status": "Cleaning crew dispatched.  Property cleaned.",
    "last_updated": "1/5/2024"
  }
]
```

# PyPI Packaging

## Publishing to PyPI

1. Ensure you have the latest build tools:
  ```sh
  pip install -r requirements-dev.txt
  ```
2. Build the package:
  ```sh
  python -m build
  ```
3. Upload to PyPI:
  ```sh
  twine upload dist/*
  ```