semvec/pypi-packages huggingface dataset:
pylivarot 1.0.1
Python bindings to Inkscape\'s livarot library

Python 3 bindings to the inkscape libraries lib2geom and livarot.

Installation
------------

manylinux whls have been published to pypi, there's likely a whl for your distro/python version at:

```bash
pip install pylivarot
```

On windows, 

```bash
python3 setup.py bdist_wheel
```

should work in theory, but I currently have not gotten this working (boost is not configured right)

Usage
-----

Declaring Path Vectors:

```python
from pylivarot import py2geom

# using a path builder
_path_builder = py2geom.PathBuilder()
_path_builder.moveTo(py2geom.Point(0, 0))
_path_builder.lineTo(py2geom.Point(10, 20))
_path_builder.quadTo(py2geom.Point(10, 20), py2geom.Point(20, 50))
_path_builder.curveTo(py2geom.Point(10, 20), py2geom.Point(20, 50), py2geom.Point(40, 80))        
_path_builder.flush()
result = _path_builder.peek()

# using an SVG d string
diagonal_line = "M 0,0 L 3,3 z"
pv_diagonal_line = py2geom.parse_svg_path(diagonal_line) 
```

Format an SVG d string:

```python
from pylivarot import py2geom

pv = py2geom.PathVector()
target_d = py2geom.write_svg_path(pv)
```

Apply a transform:

```python
from pylivarot import py2geom

path_d =  "M 0,0 L 0,2 L 2,2 L 2,0 z"
pv_path = py2geom.parse_svg_path(path_d)
_affine = py2geom.Affine()
_affine *= py2geom.Translate(py2geom.Point(2, 4))
_affine *= py2geom.Rotate(3.14159/4.0) 
for _path in pv_path:
    for _curve in _path:
        _curve.transform(_affine)
```

Boolean operations

```python
from pylivarot import py2geom, union, intersection, difference

path_v_a = py2geom.parse_svg_path("M 0,0 L 0,2 L 2,2 L 2,0 z")
path_v_b = py2geom.parse_svg_path("M 0.5,0.5 L 0.5,1.5 L 1.5,1.5 L 1.5,0.5 z")

union_pv = union(path_v_a, path_v_b)
inters_pv = intersection(path_v_a, path_v_b)
diff_pv = difference(path_v_a, path_v_b)
```

Path Vector Bounding box (also works on Paths)

```python
from pylivarot import py2geom

opt_bbox = path_vector.boundsExact() # or pv.boundsFast()
bbox = py2geom.Rect(opt_bbox[py2geom.Dim2.X], opt_bbox[py2geom.Dim2.Y])
print(bbox.left(), bbox.right(), bbox.top(), bbox.bottom(), bbox.width(), bbox.height())
```

Inkscape's get_outline and get_outline_offset functionality

```python
from pylivarot import py2geom, get_outline, get_outline_offset

outline = get_outline(path_vector)
outline_offset = get_outline_offset(path_vector, stroke_width)
```
astronautcount 0.1.1
A Twitter bot that posts the number of astronauts in space every day.
Requires Python: >=3.9, <4
Keywords: Astronaut,NASA,Twitter,bot

Astronaut Twitter Bot <img src="img/woman-astronaut-emoji.png" alt="drawing" width="25"/>
---------------------

This is the repository for [@astronautcount](https://twitter.com/astronautcount), the astronaut count twitter bot.

### Structure

Project structure consists of

- `terraform/` - houses the IaC to build a backend (spot) instance that a Flask-based inbound webhook handler resides on.
- `src/` - which contains two small Python packages, including
  - `handler`, the Flask app already mentioned, and
  - `bot`, a Python-based bot that CircleCI executes every day for a daily morning tweet.

### Where does the data come from?

At-current, this bot pulls data from [Open Notify's API](http://open-notify.org/Open-Notify-API/People-In-Space/), which is maintained by Nathan Bergey ([@natronics](https://twitter.com/natronics)). This is, as far as I'm aware, both the only publicly-accessible and regularly updated API for these data.
tornado-file-server 1.1
A tornado-based file server
Requires Python: >=2.7

# A Tornado-based File Server

## Features

1. show files on multiple pages;
2. page navigation (to prev/up/next);
3. file uploading;
4. show file statistics (how many fils/folders);
5. show file info: type/modification time/size;

## Sceenshot

![Screenshot](./screenshot_for_tornado_file_server.png) 
[Screenshot](https://github.com/walkoncross/tornado-file-server/blob/master/screenshot_for_tornado_file_server.png) 

## Python version

Should work with python>=2.7.

Tested Python version: 
- Python 2.7
- Python 3.9

## How-to

### Use 'pip install'

1. install package
```
pip install git+https://github.com/walkoncross/tornado-file-server
```
2. start serving:
```cmd
python -m tornado_file_server.serving --port 8899 _your_root_dir_
```
or just run ./run_tornado_file_server.sh

3. In your internet browser, for local test, put: http://localhost/8899; for public url, put http://_your_binded_public_url_

###  Use source code

1. install tornado: 
```cmd
pip install tornado>=4.5;
```

2. git clone this repo;

3. start serving:
```cmd
python -m tornado_file_server.serving --port 8899 _your_root_dir_
```
or just run ./run_tornado_file_server.sh

4. In your internet browser, for local test, put: http://localhost/8899; for public url, put http://_your_binded_public_url_