semvec/pypi-packages huggingface dataset:
ckill 1.0.1
Cleanly kills a process. Sends a SIGTERM signal, waits for it to die, and if it doesn't, SIGKILL all its subprocesses in the process tree from higher (recent) to lower (former) PID value.
Keywords: ckill

===============================
ckill - Cleanly kills a process
===============================

Utility that allows to safely and cleanly terminate a multiprocess application
that implements a shutdown, clean-up, or exit routine when a SIGTERM is
received.

ckill sends a SIGTERM signal to the main process, waits for it to die, and if
it doesn't after some timeout, SIGKILL all its subprocesses in the process tree
from higher (recent) to lower (former) PID value.

In this way, ckill allows the process to terminate correctly, but if it
malfunctions when terminating, or if it takes too much time (determined by the
user) all its subprocesses are killed and then the main process itself, leaving
no zombie processes behind.

.. image:: http://turnoff.us/image/en/dont-sigkill-2.png
   :scale: 50%
   :alt: DON'T SIGKILL 2
   :target: http://turnoff.us/geek/dont-sigkill-2/


If you're developing a Python multiprocess application, see also
https://github.com/kuralabs/multiexit


Install
=======

.. code-block:: sh

    pip3 install ckill

Optionally, install the following package to enable color log output.

.. code-block:: sh

    pip3 install colorlog


Usage
=====

.. code-block:: text

    usage: ckill [-h] [-v] [--version] [--no-color] [--timeout-s TIMEOUT_S] PID

    Cleanly kills a process

    positional arguments:
      PID                   PID of process to kill

    optional arguments:
      -h, --help            show this help message and exit
      -v, --verbose         Increase verbosity level
      --version             show program's version number and exit
      --no-color            Do not colorize the log output
      --timeout-s TIMEOUT_S
                            Maximum time to wait for the process to die, in seconds.


Repository
==========

    https://github.com/kuralabs/ckill


Changelog
=========

1.0.1 (2020-12-01)
------------------

Fix
~~~

- Fix bad psutil API call.


1.0.0 (2020-10-15)
------------------

New
~~~

- Initial release.


License
=======

.. code-block:: text

   Copyright (C) 2020 KuraLabs S.R.L

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
flask-cloud-services 0.1.1
Cloud Services in Flask
Requires Python: >=3.6

# Cloud Services

PIP package to provide cloud services.

## Package installation
- Installation
    ```shell
    $ pip3 install flask-cloud-services
    ```

## Configuration

Define the following environment variables:

* (str) Provider. Allowed: [aws, ]

        CLOUD_SERVICES_PROVIDER=

Aws Config

* (str) Region. Example: 'us-west-2'

        CLOUD_SERVICES_AWS_REGION=

* (str) Credentials: Access Key.

        AWS_ACCESS_KEY_ID=

* (str) Credentials: Secret Key.

        AWS_SECRET_ACCESS_KEY=

## How to use

### AWS Services

#### Notifications Channel

##### Subscribe and Listen Notifications

Define your route where you want listen the Notification Channel and you decorate it.

```python
from flask import Blueprint
from flask_cloud_services import notifications_listener

routes_bus = Blueprint('routes_bus', __name__)

@routes_bus.route('/notification-channel', methods=['GET', 'POST', 'PUT'])
@notifications_listener
def aws_sns(data_listener):
    any_topic_arn = "arn:aws:sns:us-west-2:test:test"
    if data_listener.topic_arn == any_topic_arn:
        pass # DO SOMETHING
```

##### Publish Events

If you want publish an event to specific channel,
you just must call the function `publish` send it
`topic_arn` and `message` encoded.

```python
from flask_cloud_services import notifications_publisher

result = notifications_publisher(
    topic_arn="arn:aws:sns:us-west-2:test:test",
    message="{\"data\": \"value\"}"
)
```
CasProtPY 1.0.0
Python project for generate CAS Protocol TGTs and STs
Requires Python: >=3.6

# CasProtPY
![Package Version](https://img.shields.io/badge/version-1.0.0-435acc?style=for-the-badge)
![Python Version](https://img.shields.io/badge/python-3.6+-ffd633?style=for-the-badge)

**CasProtPY** is a Python project for generate CAS protocol TGTs and STs.

The CAS protocol is a powerful ticket-based protocol implemented by CAS systems.

It key concepts is to use a TGT (Ticket Granting Ticket) to stores the user SSO session, and then require a new ST (Service Ticket) to grant access for each request.

So, **CasProtPY** creates a TGT, and using it, generates a new ST for each HTTP request.


## Compatibility
**CasProtPY** supports Python 3.6 or later.


## Installation
**CasProtPY** is a package on PyPI, so you can install it using pip:

```bash
pip3 install casprotpy
```


## Usage
```python
import casprotpy

# Setup CasProtPY using your CAS server configuration.
casprotpy_client = casprotpy({
  'username': 'cas_user',
  'password': 'cas_password',
  'service': 'service.com.br',
  'base': 'https://cas.login.com.br/v1/tickets'
})

casprotpy_client.tgt_for() # Return a valid TGT for configured CAS base.

casprotpy_client.st_for() # Return a valid ST for configured CAS service.
```
In addition, you can use the HTTP request methods present in the **CasProtPY** - which already generates the TGT and STs automatically:

```python
base_url = 'https://service.com.br'

casprotpy_client.get('{}/users/{}'.format(base_url, 'test'))

casprotpy_client.post('{}/users'.format(base_url), {"name": "test", "token": 2})

casprotpy_client.put('{}/users'.format(base_url), {"name": "test", "token": 3})

casprotpy_client.patch('{}/users'.format(base_url), {"token": 3})

casprotpy_client.delete('{}/users/{}'.format(base_url, 'test'))
```

By default, `casprotpy_client.st_for()` creates a new TGT and stores it for 8 hours - it keeps using that TGT until it expires.

But you can generate and pass your own TGT, like bellow:

```python
casprotpy_client.st_for(casprotpy_client.tgt_for())
```


## Testing
```bash
python3 -m unittest discover -s tests/ -p '*_test.py'
```
tcxparser 0.2.0
tcxparser is a parser for Garmin’s TCX file format. It also works well with missing data!
Requires Python: >=3.6

## Objective
This is a simple TCX parser which can read Garmin TCX file extension files. The parser currently does not support laps and merges the whole exercise into one exercise object. 
The following data is currently parsed: longitude, latitude, elevation, time, distance, hr_value, cadence, watts, TPX_speed (extension). GitHub requests appreciated to add missing Extensions.


## Dependencies
This package uses [maya](https://pypi.org/project/maya/) for parsing datetimes from TCX files.

## Example
An example on how to use the package is shown below.
```python
from tcxparser.tcxparser import TCXReader, TCXTrackPoint

tcx_reader = TCXReader()
file_location = 'example_data/15.tcx'

data: TCXTrackPoint = tcx_reader.read(file_location)
""" Example output:
    {TCXTrackPoint}
	 TPX_speed = {float} 5.011000156402588
	 cadence = {float} 80
	 distance = {float} 514.0499877929688
	 elevation = {float} 46.79999923706055
	 hr_value = {int} 134
	 latitude = {float} 45.5244944896549
	 longitude = {float} 13.596355207264423
	 time = {datetime} 2015-02-19 09:34:17+00:00
	 watts = {float} 123
"""
print("Output")
print(str(data[0]))
```

## Features
Allows parsing of TCX files.

## Datasets

Datasets are available on the following links: [DATASET1](http://iztok-jr-fister.eu/static/publications/Sport5.zip), [DATASET2](http://iztok-jr-fister.eu/static/css/datasets/Sport.zip)

## Licence

This package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.

## Disclaimer

This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!
alenr 0.1.0
tcxparser is a parser for Garmin’s TCX file format. It also works well with missing data!
Requires Python: >=3.6

## Objective
This is a simple TCX parser which can read Garmin TCX file extension files. The parser currently does not support laps and merges the whole exercise into one exercise object. 
The following data is currently parsed: longitude, latitude, elevation, time, distance, hr_value, cadence, watts, TPX_speed (extension). GitHub requests appreciated to add missing Extensions.


## Dependencies
This package uses [maya](https://pypi.org/project/maya/) for parsing datetimes from TCX files.

## Example
An example on how to use the package is shown below.
```python
from tcxparser.tcxparser import TCXReader, TCXTrackPoint

tcx_reader = TCXReader()
file_location = 'example_data/15.tcx'

data: TCXTrackPoint = tcx_reader.read(file_location)
""" Example output:
    {TCXTrackPoint}
	 TPX_speed = {float} 5.011000156402588
	 cadence = {float} 80
	 distance = {float} 514.0499877929688
	 elevation = {float} 46.79999923706055
	 hr_value = {int} 134
	 latitude = {float} 45.5244944896549
	 longitude = {float} 13.596355207264423
	 time = {datetime} 2015-02-19 09:34:17+00:00
	 watts = {float} 123
"""
print("Output")
print(str(data[0]))
```

## Features
Allows parsing of TCX files.

## Datasets

Datasets are available on the following links: [DATASET1](http://iztok-jr-fister.eu/static/publications/Sport5.zip), [DATASET2](http://iztok-jr-fister.eu/static/css/datasets/Sport.zip)

## Licence

This package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.

## Disclaimer

This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!
MFASweep.py 1.0.5
Test Azure environment for MFA misconfigurations
Requires Python: >=3.4
Keywords: pentesting enumeration azure mfa-tokens

# MFASweep

Python port of [MFASweep](https://github.com/dafthack/MFASweep) by @dafthack

## Install

**Install from github**
```bash
python3 -m pip install git+https://github.com/CasperGN/MFASweep.py.git
```

**Install from pip**
```bash
python3 -m pip install MFASweep.py
```

## Usage

```bash
python3 -m mfasweep username domain.com
```