semvec/pypi-packages huggingface dataset:
tasho 0.0.3
A performant and lightweight NOSQL Database

# TashoDB 

A fast and portable python NoSQL database. Sucessor to KoDB.

#### Using the DB

To initalize or open a database, it's as straightforward as calling `tasho.Database.new` or `tasho.Database.open`.
```python
>>> import tasho
>>> database = tasho.Database.new("AnimeDatabase")  # Creates a new database.
>>> database = tasho.Database.open("AnimeDatabase") # Opens a database.
```

Tables can be called through `tasho.Database.get_table(table_name)` or through `tasho.Database.table.table_name` 
```python
>>> tbl_anime = database.table.Anime 			# These all return 
>>> tbl_anime = database.get_table("Anime")		# the same Table
>>> tbl_anime = database.table['Anime']			# object.
>>> tbl_anime
<TashoDBTable>: Anime | Chunks: 1
```

***Note:  Tables are set to auto commit by default. When doing bulk inserts, make sure to set `Table.auto_commit` to `False` and running `Table.commit()` manually afterwards.***


#### Data Storage
```python
>>> tbl_anime.insert('001', {'title': 'Nichijou', 'episodes': 24, 'rating': 99})
'Shows-d545998bc3485346'
```

This stores the data with `001` as the Document ID. Document IDs can either be String or Int. Since `Table.auto_commit` has been set to true, running `Table.commit()` is no longer needed.


#### Retrieval
There are multiple ways of accessing data.
```python
# The document can be accessed through a regular get method
>>> show = tbl_shows.get('001')
>>> show
<TashoDBDocument:001> Origin: Shows
>>> show.dict
{'title': 'Nichijou', 'episodes': 24, 'rating': 99, '_id': '001'}
>>>
# Table.query allows you to pass a callable to filter the data.
>>> tbl_shows.query(lambda id, data: data['rating'] > 50)
[<TashoDBDocument:001> Origin: Shows]
>>>
# Table.query_one works the same as Table.query but stops at the first match.
>>> tbl_shows.query_one(lambda id, data: data['rating'] > 50)
<TashoDBDocument:001> Origin: Shows
```
`Table.get(id)` returns a Document object that contains the data.


#### Manipulating Data

Manipulating data is as easy as changing the values in the Document object.
```python
>>> show
<TashoDBDocument:001> Origin: Shows
>>> show.dict
{'title': 'Nichijou', 'episodes': 24, 'rating': 99, '_id': '001'}
>>> show.rating = 98
>>> show['title'] = 'Nichibros'
>>> show.save()
'Shows-d545998bc3485346'
>>> show.dict
{'title': 'Nichibros', 'episodes': 24, 'rating': 98, '_id': '001'}
```


Document deletion can also be done with `Document.delete()`.
```python
>>> list(tbl_shows.items())
[('001', {'title': 'Nichijou', 'episodes': 24, 'rating': 98})]
>>> show.delete()
True
>>> list(tbl_shows.items())
[]
```

***Note: Document objects behaves almost the same way as dictionaries. `Document.pop`, `Document.update` and `Document.get` works the same way.***

_See: test.py for more use cases._
pyShipping-python3 0.0.1
pyShipping - Shipping related Toolkit

pyShipping provides connections to interface with shipping companies and to transport shipping related information. 

 * package - shipping/cargo related calculations based on a unit of shipping (box, crate, package), includes
   a bin packing implementation in pure Python
 * sendung - defines an abstract shippment (Sendung), with packages and calculations based on that
 * addressvalidation - check if an address is valid
 * carriers.dpd - calculation of DPD/Georoutes routing data and labels. Included tables are for shippments from Wuppertal but it should work with all other german routing tables. See this Blogpost_ about updating routing information.
 * fortras - tools for reading and writing Fortras messages. Fortras is a EDI standard for logistics related information somewhat common in Germany. See Wikipedia_ for further enlightenment

.. _Wikipedia: http://de.wikipedia.org/wiki/Fortras
.. _Blogpost: https://cybernetics.hudora.biz/intern/wordpress/2010/09/dpd-routeninformationen-aktualisieren/

It also comes with the only python based `3D Bin Packing <http://www.cs.sunysb.edu/~algorith/files/bin-packing.shtml>`_ implementation I'm aware of. The Algorithm has sufficient performance to be used in everyday shipping and warehousing applications.

You can get the whole Package at http://pypi.python.org/pypi/pyShipping

This code is BSD Licensed.

.. image:: https://d2weczhvl823v0.cloudfront.net/hudora/pyshipping/trend.png
   :alt: Bitdeli badge
   :target: https://bitdeli.com/free