semvec/pypi-packages huggingface dataset:
bencode-open 1.2
bencode parser and converter

# bencode

`bencode-open` is an open-source MIT-licensed library for parsing and converting
objects to and from [Bencode format](https://en.wikipedia.org/wiki/Bencode).


## Rationale

`bencode-open` is MIT-licensed and can thus be included to almost all software,
compared to `bencode` and `bencode.py`.


## Installation

`bencode-open` is available on [GitHub](https://github.com/imachug/bencode-open)
and on [PyPI](https://pypi.org/project/bencode-open/).

Installing `bencode-open` from PyPI is recommended and can be done as follows:

```
pip install bencode-open
```


## Usage

```python
import bencode_open

print(bencode_open.dumps(b"Hello?"))  # Outputs b"6:Hello?"
print(bencode_open.dumps(17))  # Outputs b"i17e"

print(bencode_open.loads(b"6:Hello?"))  # Outputs b"Hello?"
print(bencode_open.loads(b"i17e"))  # Outputs 17
```


## Running tests

```
python test.py
```
LindexURI 0.1.2
Hadoop URI utility

# LindexURI
BigData URI utility

The idea is that every information stored is addressable using a URI, in this case we like to work with HDFS and HIVE. There

LindexURI.isValid( uri ) : returns true if the URI is valid, it's a static method and can be used in a quick way.

### luri = LindexURI(uri) 
### luri.isPartitioned()
returns true if the HIVE uri is defining a partitioned table

if uri == "hive://databasename/tablename?dt=201212" luri.isPartitioned returns True.

### luri.getPartitions() 
returns a dictionary that describes the HIVE partition

if uri == "hive://databasename/tablename?dt=201212" luri.getPartitions() returns

OrderedDict( 'dt': '201212' ) 

### luri.getDatabase()
gets the database name from the HIVE uri ( this can be modified to work also with HDFS paths )

if uri == "hive://databasename/tablename?dt=201212" luri.getDatabase() returns 'databasename'

### luri.getTable()
gets the table name from HIVE uri, can be modified to work also with HDFS paths

if uri == "hive://databasename/tablename?dt=201212" luri.getDatabase() returns 'tablename'

### luri.getHDFSHostName()
gets the HDFS hostname 

if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getHDFSHostName returns 'hdfs-prod'

### luri.getHDFSPath()
gets the path from the HDFS uri 

if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getHDFSPath() returns 'warehouse/databasename.db/tablename.db/dt=201212'

### luri.getSchema()
gets the schema 

if uri == "hdfs://hdfs-prod/warehouse/databasename.db/tablename.db/dt=201212" luri.getSchema() returns 'hdfs'

### luri.getPartitionsAsHDFSPath()
converts the partition coordinates into an HDFS path

p = OrderedDict( 'dt' : '201212', 'country': 'AU' ) 
dt=201212&country=AU

### luri.getHDFSPathAsPartition()
converts the HDFS path into a partition coordinates dictionary

       'hdfs://hdfs-production/Vault/Docomodigital/Production/Newton/events/prod/year=2018/month=08/day=07/hour=09'

        root path : "/Vault/Docomodigital/Production/Newton/events/prod/"

        partitions : {
            "year" : "2018",
            "month" : "08",
            "day" : "07",
            "hour" : "09"
        }



### luri.looksPartitioned()
returns true if the HDFS path can define a partition