Python 3.7 Multiprocess Framework for single Server
Examples:
simple style prime number calculation to see the basic use
simple http server on one cpu gets content via queue
one flask orm server on each cpu - share a user db
multiple flask orm server on each cpu, port groups - share a user db
web download csv large list, calculate average over a column
brute_force_attack with itertools generator and dictionary
example with two, double fed queues
All scenarios follow the Template style and have descriptions
## How to run the examples?
Clone the repo and run an eisenmp_exa_... or
Install PyPi package
in terminal run: eisenmp_url and open the local Python SimpleHTTP URL
in terminal run: eisenmp_menu and choose from Menu
Brute force cracks strings of an online-game alphabet salad quest.
.. read wordlist .\lang_dictionaries\ger\german.dic .. read wordlist .\lang_dictionaries\eng\words.txt [BRUTE_FORCE] cfhhilorrs Create processes. Default: proc/CPU core 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... proc Process-7 ... rohrschilf ... proc Process-14 ... rohrschilf ... proc Process-16 ... rohrschilf ... proc Process-7 ... rohrschilf ... proc Process-13 ... schilfrohr ... proc Process-13 ... schilfrohr ... proc Process-11 ... schilfrohr ... proc Process-11 ... schilfrohr generator empty, run time iterator 5 seconds exit WORKER 15 exit WORKER 16 exit WORKER 2 exit WORKER 10 exit WORKER 11 exit WORKER 12 exit WORKER 8 exit WORKER 3 exit WORKER 4 exit WORKER 6 exit WORKER 14 exit WORKER 5 exit WORKER 7 exit WORKER 13 exit WORKER 1 exit WORKER 9 --- Result for [CFHHILORRS]--- rohrschilf schilfrohr --- END --- Processes are down. BF Time in sec: 12 Process finished with exit code 0
- Brute Force
We use an english (.6M) plus a german (2M) wordlist and make a dictionary of it. To gain more read speed.
len(str) <= 11, combined brute force dictionary attack with a permutation generator. itertool prod. duplicates Permutation lists grow very fast, reaching Terabyte size.
len(str) >= 12, pre reduce a len(str) list. Kick out words which are not matching char type and count.
- Web download a large list
Calculates the average for one column. Python CSV extracts the column and we calculate the average with the assigned number of Porcesses/CPU cores. It can be more processes than CPU cores, if it makes sense.
- large lists
https://www.stats.govt.nz/large-datasets/csv-files-for-download/ Crown copyright ©. All material Stats NZ produces is protected by Crown copyright. Creative Commons Attribution 4.0 International licence.
- German dict
https://sourceforge.net/projects/germandict/. License Public Domain
- English dict
Copyright (c) J Ross Beresford 1993-1999. All Rights Reserved.
- ORM Flask-SQLAlchemy
https://pypi.org/project/Flask-SQLAlchemy-Project-Template/ License MIT 44xtc44
Cheers
Metadata
Release files for eisenmp-examples 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eisenmp_examples-0.5.1.tar.gz | 63.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eisenmp_examples-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 152.9 kB
Release files / eisenmp_examples-0.5.1.tar.gz
| Download URL | eisenmp_examples-0.5.1.tar.gz |
|---|---|
| Size | 63.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fc9eca3c52b67d67ae422b0feb73ed817b89e815f747a8c4ce1efbca1bb3d90
|
|
BLAKE2b-256 checksum How to use checksums |
f068a00b1d44f3c35041032963a22aa297983debac47ce804c5402f130fbb93e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.3
|
Release files / eisenmp_examples-0.5.1-py3-none-any.whl
| Download URL | eisenmp_examples-0.5.1-py3-none-any.whl |
|---|---|
| Size | 89.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54cd17be4f97a3589c760fd868a8df2df104ff11465cf1d310d338b4d570ee48
|
|
BLAKE2b-256 checksum How to use checksums |
4c29616ce6625eeb7c6091e3b4206555c1964d5b49f595a11c329b7a4ae626ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.3
|