semvec/pypi-packages huggingface dataset:
halalnetwork 0.9
download the halal staff for free with no registration

# 2019-net-b

## What is our peer-to-peer file downloading system

The main idea of the system - secure and reliable file exchange between people in a network. 
Peer-to-peer means that files are transfering between guys that are connected to a system following several specific rules: 
* to get into the system the guys first must download the specific .libr files
* afterwards those guys must connect to a tracker (using the ip from .libr file) to get the list of other peer guys 
* the fun begins! Peer goes inside the network, starts taking the "books" (chunks) of needed files from other guys and giving the chunks he has to other guys.
* In the end everybody is happy having the fully downloaded files.


## How to build, run, test

**Build step:**
0) run **pip install haramnetworks** 
1) Use **chunky_boy.py** to create .libr file (library file as described in protocol) and .bi file (connects names of the stuff with the theirs file-names). The best practise is to run chunky_boy on a tracker computer (because doing so the IP adress of tracker will be writen to .lib file)
2) Users must download this .libr file as a first step (same as if downloading a torrent file)

**Run steps:**
2) Run **tracker.py**. It will activate the tracker of the whole system. Tracker will start to listen, waiting for peers to get connected to it.
3) Run **main_func.py**. It will activate peer-to-peer system. 

**Testing step:**
4) Run pytest -v to run all existing test

**Resourses:**
5) Check the resourses used via [link](https://docs.google.com/spreadsheets/d/15dO61qel5iGa-W1Udee3QN0Z6it9-twFl_7Tn3PuyP8/edit?usp=sharing)

## Architectures

1) One player (let's call Player A) execute the 'tracker.py'. Player A will be our hub. Player A has the text file that consist of staffs (The lord of the rings, Gone with the wind etc.).

2) Another one player (Let's call Player B), he will download the libr file (like a bittorrent file) on github. This file contains the information of: Hub, name of the staff (e.g The Lord of the rings), size of the staff, size used for books, SHA1 of each books. 

3) After Player B has the .libr file, Player B execute the 'main_func.py'. Player B will be one of the peers.

4) When Player B executed the 'main_func.py', Player A's text file will be updated according to Player B's IPP and Port. 
For example; 

Before Player B's execute, text file looks like:

The Lord of the Rings II IPP

After Player B's execute, text file looks like:

The Lord of the Rings II IPP 192.168.43.29:1234 (Player B's IPP and Port)

5) End of the execution of 'main_func.py',
LocalLib 0.1.3
Makes easy tasks easier

### Thank you for using LocalLib! Below is a list of its defined functions:



**locallib.pymath:**

	Contains simple math functions: add, subtract, multiply, and divide.




**locallib.pygui:**

	Contains functions for sending notifications:

		Notification(title, msg, dur, threaded=None):

			For Windows 10. Sends a notification to the system notification bar.
			If a threaded notification is desired, set threaded to True.



**locallib.pystrs:**

	Contains functions for string editing:

		Contains(string, substring):

			Checks if a substring or char occurs in the specified string, and returns True or False.

		TrimLastChar(string):

			Returns a string with the last character removed from the given string.

		TrimFirstChar(string):

			Returns a string with the first character removed from the give string.

		RemoveAt(string, index):

			Returns an edited string with a character removed at the specified zero-based index.

		Remove(string, char):

			Returns a string with all occurrences of the specified character removed.

		RemoveFirst(string, char):

			Removes the first occurrence of the specified character from the given string and returns the new string.

		RemoveLast(string, char):

			Removes the last occurrence of the specified character from the given string and returns the new string.

		RemoveRange(string, startindex, stopindex):

			Removes a range of characters by index from the given string and returns the new string.



**locallib.Bible:**

	Contains functions for Bible verse actions:

		GetVerse(version, book, chap, verse):

			Returns the specified verse from the given version, book, chapter, and verse.  Currently, the only avaliable version is KJV.


			Use it like so:

				from locallib import Bible as B

				verse = B.GetVerse('KJV', 'Genesis', 1, 1)
				print(verse)
riemann-zyxel-gs1200 1
Send metrics to Riemann from Zyxel GS1200 PoE switches.

This program collects metrics from the web interface of [Zyxel GS1200][1] PoE switches, and submits them to [Riemann][2].
Collected metrics include
- power usage per port,
- number of packets received and transmitted per port,
- link status and speed per port,
- total power usage, and
- system information such as firmware version and mac address.

A [riemann-dash][3] dashboard fed by this program may look like this:

![Screenshot of riemann-dash](dash.png)

## How to run

```
pip3 install --user riemann-zyxel-gs1200
cp example.ini my_configuration.ini
edit my_configuration.ini
python3 -m riemann_zyxel_gs1200 my_configuration.ini
```

## License

Copyright (c) 2019, Martin Stensgård.
All rights reserved.

riemann-zyxel-gs1200 is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, only version 3 of the License.

riemann-zyxel-gs1200 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with riemann-zyxel-gs1200. If not, see <http://www.gnu.org/licenses/>.

[1]: https://www.zyxel.com/products_services/5-Port-8-Port-Web-Managed-PoE-Gigabit-Switch-GS1200-5HP-v2-GS1200-8HP-v2/
[2]: http://riemann.io/
[3]: https://github.com/riemann/riemann-dash
[dash.png]: https://cdn.jsdelivr.net/gh/mastensg/riemann-zyxel-gs1200/dash.png
flutter 0.1
Convert unstructured data into type-safe dataclasses.
Requires Python: >=3.6

flutter.py
==========

Example
-------

.. code-block:: python

   from dataclasses import dataclass, field
   from flutter import checked, check_type
   from typing import List


   @checked
   @dataclass
   class Node:
       line: int


   @checked
   @dataclass
   class Parent(Node):
       children: List[Node] = field(default_factory=list)


   assert check_type(Parent, {
       'line': 0,
       'children': [{'line': 1}]
   }) == Parent(line=0, children=[Node(1)])

   assert check_type(Parent, {
       'line': 10
   }) == Parent(line=10, children=[])