semvec/pypi-packages huggingface dataset:
py-dom-xpath-six 0.2.4
XPath for DOM trees

py-dom-xpath is a pure Python implementation of XPath 1.0. It
supports almost all XPath 1.0, with the main exception being the
namespace axis. It operates on DOM 2.0 nodes, and works well with
xml.dom.minidom, but also with other xml.dom implementations.

py-dom-xpath-six is a version of py-dom-xpath that is compatible with Python
3.6 and later. It is a fork of py-dom-xpath-redux, which in turn is a fork of
the original py-dom-xpath.

Changes in 0.2.4:
- Fix compatibility issue with Python 3
- Got rid of Python 2 support
- Minor changes to update to newer standards for pypi, etc.

Changes in 0.2.3:
- Optimized sorting of nodesets in document order: do only at end of expression.

Here is the original README file:

py-dom-xpath is a pure Python implementation of XPath 1.0. It
supports almost all XPath 1.0, with the main exception being the
namespace axis. It operates on DOM 2.0 nodes, and works well with
xml.dom.minidom.

py-dom-xpath requires Python 2.5 or greater.

py-dom-xpath uses the Yapps 2 parser generator by Amit J. Patel.
Portions of of Yapps 2 are included in this distribution, to avoid
introducing external dependencies.

py-dom-xpath was developed at Nominum. Nominum has graciously
permitted the author to release it under the MIT license.

For further details, visit the project home page at:

    http://code.google.com/p/py-dom-xpath/
gdclone 0.5.5
A tool to copy large folders to Shared Drives.

# folderclone - A project that allows you copy large folders to Shared Drives.


## Installation

folderclone is available on PyPI, so you can install it using pip.

    pip3 install git+git://github.com/arlessweschler/Folderclone@master


## multimanager

Multi Manager is the tool that will help you setup everything you need to make folderclone work.

### Multi Manager Setup
To set it up, head over to the [Python Quickstart](https://developers.google.com/drive/api/v3/quickstart/python) page and click the Enable the Drive API. Go through the setup and once its done, download the credentials to a new folder on your computer.

On your terminal, change your directory to that folder you just made and run:

    multimanager interactive

This will start multimanager in interactive mode. It'll start by taking you to a login page to authenticate yourself. You'll then be met with a prompt to enable the Service Usage API. Visit the link it provides, enable the API, then go back and press Enter to retry. Don't worry about having to do this every time, this is a one time setup.

Once it's done, you'll be met with the Multi Manager prompt.

    Multi Manager
    mm>
You have successfully setup Multi Manager!

#### Quick Setup

For folderclone, you'll need a few Service Accounts (SAs) ready. To do this in, run:

    mm> quick-setup N SHARED_DRIVE_ID

Where `N` is the amount of projects you'd like to use and `SHARED_DRIVE_ID` the ID of the Shared Drive you'd like to copy to.

For example, say I wanted to copy 100 TB worth of content. I'd need 134 SAs (750 GB each) to do the copy, so 2 projects. I'll be copying to a fresh new Shared Drive who's ID is 0ABCdeyz_ZaMsxxxLGA. I'll be running:

    mm> quick-setup 2 0ABCdeyz_ZaMsxxxLGA

This will automatically;
- create 2 projects
- enable the required services
- create Service Accounts
- add them to the Shared Drive
- and download their credentials into a new folder `accounts`

You are now ready to go to the next step.

## multifolderclone

multifoldeclone is the tool that will do all the cloning for you. It is the simplest thing to use.

    multifolderclone -s SOURCE_FOLDER_ID -d DESTINATION_FOLDER_ID

Where `SOURCE_FOLDER_ID` is the ID of the folder you'll want to copy (Make sure the source folder is accessible to the service accounts by either making the folder public or sharing the folder with the service accounts you are using to copy with), and `DESTINATION_FOLDER_ID` is the ID of the folder you are copying to. This could be the ID of the Shared Drive, or a folder inside the Shared Drive.

This will automatically start cloning the folder!
And that's it! You did it!
laporte 0.7.5
Push gateway for processing metrics with automation and states.

# Laporte

- a gateway for processing metrics with automation and states
- acceptor for sensors, batch jobs or messages
- with the ability to set actuators
- compatible with Prometheus for metric alerting, collecting and data visualization
 
## Schema:

![laporte schema](doc/laporte_schema.svg)

## Features:

 - can evaluate, recalculate or correct metric
 - calculate new metric or state from other metrics
 - automation using a true algorithmization + data structures (python expression code)
 - can set TTL for metrics (obsolete metric disappears when time is over)
 - communicates via:
    * RESTful API 
    * realtime, bidirectionally using Socket.IO
    * exporting data as Prometheus metrics
    * live www status page
 - optional bridges (extensions):
    * [laporte-mqtt](https://github.com/vinklat/laporte-mqtt) to connect a large family of devices using MQTT protocol
    * [laporte-journal](https://github.com/vinklat/laporte-journal) to store all events into other database

## Installation:
To install Laporte from PyPI:

`pip install laporte`

Or using container image from Docker Hub:

`docker pull vinklat/laporte`


## Quick HOWTO:
### Example: push gateway for weather sensor

 - manually simulate a weather sensor and send temperature and relative humidity data to this gateway using REST API
 - in this example the temperature will be corrected (slope +1% and shift + 0.5). Can be used in case of calibrate sensor, unit conversion, ...
 - other two new metrics will be calculated (dew point temperature and absolute humidity)
 - in the case of an inactive sensor, the data expires in 10 minutes

#### a) run the docker image

`docker run -p 9128:9128 vinklat/laporte -c conf/example_weatherstation.yml`

(the content of this built-in config file can be seen here: [example_weatherstation.yml](conf/example_weatherstation.yml))

#### b) send metrics from sensor via REST API

Try sending data several times using curl:

`curl http://localhost:9128/api/metrics/weather1 -d temp_celsius=37.5 -d hum_ratio=0.8 -X PUT`

#### c) watch status
 - Laporte status page: [http://localhost:9128](http://localhost:9128)
 - JSON response of REST API: [http://localhost:9128/api/metrics/by_node](http://localhost:9128/api/metrics/by_node)
 - Prometheus metrics: [http://localhost:9128/prom](http://localhost:9128/status/metrics)

...more info on the [wiki](https://github.com/vinklat/laporte/wiki)
laporte-mqtt 0.3.0
MQTT connector for Laporte.

# laporte-mqtt

 - bidirectional MQTT connector for [Laporte](https://github.com/vinklat/laporte).
 - it can take, convert and push metrics from MQTT sensors
 - immediately publish changes (like actuators, relays) to MQTT

## Schema:

![laporte-mqtt schema](doc/laporte-mqtt_schema.svg)

## Features:

 - can subscribe/publish multiple topics
 - JSON and also single values in payloads are supported
 - tested with [zigbee2mqtt](https://github.com/koenkk/zigbee2mqtt), [Tasmota](https://github.com/arendst/Tasmota), RFLink, [nibe-mqtt](https://github.com/vinklat/nibe-mqtt) and others

## Installation:
To install from PyPI:

`pip install laporte-mqtt`

Or using container image from Docker Hub:

`docker pull vinklat/laporte-mqtt`

## Quick HOWTO:

please wait a bit longer, examples are in development...