semvec/pypi-packages huggingface dataset:
amersham 1.0.1
A lightweight verbose argument parser
Requires Python: >=3.6

# Amersham

<p align="end">
    <img src="https://github.com/inigo-selwood/amersham/actions/workflows/test.yaml/badge.svg?event=push" alt="Test" />
    <img src="https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/inigo-selwood/a15864cab2eed694c754703ad4b73181/raw/amersham-coverage-badge.json" alt="Coverage" />
</p>

**Amersham:** The name of a London Underground station which alliterates with "argument parser"

## Motivation

Every CLI application wants two things:

1. Sanitized user input
2. Descriptive usage and help messages

Amersham implements both with minimal boilerplate.

## Quick Start

Install

```
pip3 install amersham
```

Import

```python
import sys

from amersham import Parser
```

Create a parser and command

```python
parser = Parser("app")

@parser.command()
def command(parameter, flag = None):
    pass
```

Run the parser

```python
if __name__ == "__main__":
    parser.run(sys.argv[1:])
```

Run your program

```
user:~$ python3 app.py --help
usage
  app.py [--help] [--flag] PARAMETER

flags
  --help  -h  displays this message
  --flag

parameters
  PARAMETER  string
```

## Advanced Usage

### More Descriptive Help Messages

Add some context to our command and arguments

```python
overrides = {
    "description": "a command",

    "parameter": {
        "description": "a parameter",
    },
    "flag": {
        "description": "a flag",
        "alias": "f",
    }
}

@parser.command(**overrides)
def command(parameter, flag = ""):
    pass
```

And see the results

```
user:~$ python3 app.py --help
usage
  app.py [--help] [--flag] PARAMETER

description
  a command

flags
  --help  -h          displays this message
  --flag      string  a flag

parameters
  PARAMETER  string  a parameter
```
xmppbot 0.1.1
Bot to manage a xmpp ejabberd local node from a Mastodon server, by posting keywords to it
Requires Python: >=3.8

# xmpp bot for Mastodon
Bot to manage a xmpp ejabberd node from a Mastodon server, by posting keywords to it.  

The bot only listen keywords from your Mastodon server local users. They can register themselves to your ejabberd xmpp server, unregister, check your xmpp node stats and more!.  
The keywords that they can issue against the bot are the following:  

@your_bot register  
@your_bot unregister  
@your_bot stats  
@your_bot status  
@your_bot sessions  

The bot will process any of the above keywords thanks to the wrapper for ejabberd API (`ejabberdapi.py`, coded by me (WIP)) and the excellent wrapper for Mastodon API coded by [halcy](https://github.com/halcy/Mastodon.py).  

The first time you run `python xmpp.py`, it will ask you for the needed parameters like:  

- api_base_url: http://127.0.0.1:5280 (ejabberd server's API listen port)
- local_vhost: your local ejabberd vhost  
- admin_account: the ejabberd admin account, in exemple admin@ejabberd.server  
- admin_pass: ejabberd admin account password  
- Mastodon hostname: in ex. your.mastodon.server.host  
- bot's replies language (ca or en)  

# Requirements  

- Mastodon server bot account  
- xmpp Ejabberd local node with admin privileges  

Before running `python xmpp.py`:  

1. git clone https://git.mastodont.cat/spla/xmppbot.py target_dir.   
2. `cd target_dir`  
3. create the Python Virtual Environment with `python3.x -m venv .`  
4. activate it with `source bin/activate`  
5. run `pip install -r requirements.txt` to install required libraries.  
6. set up your contrab to run `python xmpp.py` every minute.  

Enjoy!
flit_demo 0.1.2
Just a test for using Flit
Requires Python: >=3.6

flit-demo
=========

.. image:: https://img.shields.io/badge/Made%20with-Python3-brightgreen.svg
        :target: https://www.python.org/
        :alt: made-with-python

.. image:: https://img.shields.io/pypi/v/flit_demo.svg
        :target: https://pypi.python.org/pypi/flit_demo

.. image:: https://img.shields.io/badge/License-BSD%202--Clause-brightgreen.svg
        :target: https://github.com/eamontoyaa/flit_demo/blob/master/LICENSE
        :alt: License

.. image:: https://readthedocs.org/projects/flit_demo/badge/?version=latest
        :target: https://flit_demo.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

Just a test for using Flit
compysitions 0.0.3
Extensions for working with Python Dataclasses

# Compysitions

![](https://github.com/zganger/extended_dataclass/workflows/Test/badge.svg)

## Project Overview
Python [dataclasses](https://docs.python.org/3/library/dataclasses.html "Dataclass documentation") are used to represent data in a python object.
They support decoding some data to dict out of the box, but do not handle all types neatly nor support loading to an instance from dict.
This project provides an extensible class that will allow you to define objects the way you would in a dataclass, 
but provides additional encoding and decoding support to represent these objects as data for i/o and storage purposes.

## Usage Examples
The below will show how Compysitions handles support for increasingly complex data describing transactions in a store.

### Built-in types
```python
class Transaction(Compysition):
    buyer_name: str = None
    item_name: str = None
    price: float = 0.00

transaction_data = {
    "buyer_name": "John Smith",
    "item_name": "Floral Shirt",
    "price": 20.99
}

transaction_obj = Transaction().from_dict(transaction_data)
```

## Setting up the development environment
The following steps will set up linting on commit and the ability to run tests.
1. Clone repository
2. Create a virtual environment for development
3. `pip install -r dev_requirements.txt`
4. `pre-commit install`