3DeeCellTracker3DeeCellTrackeris a deep-learning based pipeline for tracking cells in 3D time-lapse images of deforming/moving organs (eLife, 2021).Updates:3DeeCellTracker v1.0.0 has been releasedFixed some bugs in v0.5InstallationTo install 3DeeCellTracker, please follow the instructions below:Note: We have tested the installation and the tracking programs in two environments:(Local) Ubuntu 20.04; NVIDIA GeForce RTX 3080Ti; Tensorflow 2.5.0(Google Colab) Tensorflow 2.12.0 (You need to upload your data for tracking)PrerequisitesA computer with an NVIDIA GPU that supports CUDA.AnacondaorMinicondainstalled.TensorFlow 2.x installed.StepsCreate a new conda environment and activate it by running the following commands in your terminal:$condacreate-ntrackpython=3.8pip$condaactivatetrackInstall TensorFlow 2.x by following the instructions provided in theTensorFlow installation guide.Install the 3DeeCellTracker package by running the following command in your terminal:$pipinstall3DeeCellTracker==1.0.0Once the installation is complete, you can start using 3DeeCellTracker for your 3D cell tracking tasks within the Jupyter notebooks provided in the GitHub repository.If you encounter any issues or have any questions, please refer to the project's documentation or raise an issue in the GitHub repository.Quick StartTo learn how to track cells using 3DeeCellTracker, please refer to the following notebooks for examples. We recommend using StarDist for segmentation, as we have optimized the StarDist-based tracking programs for more convenient and quick cell tracking. Users can also use the old way with 3D U-Net.Train a custom deep neural network for segmenting cells in new optical conditions:Train 3D StarDist (notebook with results)Train 3D U-Net (clear notebook)Train 3D U-Net (results)Track cells in deforming organs:Single mode + StarDist (notebook with results)Single mode + UNet (clear notebook)single mode + UNet (results)Track cells in freely moving animals:Ensemble mode + StarDist (notebook with results)Ensemble mode + UNet (clear notebook)Ensemble mode + UNet (results)(Optional) Train FFN with custom data:Use coordinates in a .csv file (notebook with results)Use manually corrected segmentation saved as label images (notebook with results)The data and model files for demonstrating above notebooks can be downloaded here:Data for StarDist-based notebooks.Data for UNet-based notebooks.Frequently Reported Issue and Solution (for v0.4)Multiple users have reported encountering aValueErrorof shape mismatch when running thetracker.match()function.
After investigation, it was found that the issue resulted from an incorrect setting ofsiz_xyz,
which should be set to the dimensions of the 3D image as (height, width, depth).Video Tutorials (for v0.4)We have made tutorials explaining how to use our software. See links below (videos in Youtube):Tutorial 1: Install 3DeeCellTracker and train the 3D U-NetTutorial 2: Tracking cells by 3DeeCellTrackerTutorial 3: Annotate cells for training 3D U-NetTutorial 4: Manually correct the cell segmentationA Text Tutorial (for v0.4)We have written a tutorial explaining how to install and use 3DeeCellTracker. SeeBio-protocol, 2022How it worksWe designed this pipeline for segmenting and tracking cells in 3D + T images in deforming organs. The methods have been explained inWen et al. bioRxiv 2018and inWen et al. eLife, 2021.
The original programs used in eLife 2021 was contained in the "Deprecated_programs" folder.Overall procedures of our method(Wen et al. eLife, 2021–Figure 1)Examples of tracking results(Wen et al. eLife, 2021–Videos)Neurons in a ‘straightened’freely moving wormCardiac cells in a zebrafish larvaCells in a 3D tumor spheriodCitationIf you used this package in your research, please cite our paper:Chentao Wen, Takuya Miura, Venkatakaushik Voleti, Kazushi Yamaguchi, Motosuke Tsutsumi, Kei Yamamoto, Kohei Otomo, Yukako Fujie, Takayuki Teramoto, Takeshi Ishihara, Kazuhiro Aoki, Tomomi Nemoto, Elizabeth MC Hillman, Koutarou D Kimura (2021) 3DeeCellTracker, a deep learning-based pipeline for segmenting and tracking cells in 3D time lapse images eLife 10:e59187Depending on the segmentation method you used (StarDist3D or U-Net3D), you may also cite either of
following papers:Martin Weigert, Uwe Schmidt, Robert Haase, Ko Sugawara, and Gene Myers.
Star-convex Polyhedra for 3D Object Detection and Segmentation in Microscopy.
The IEEE Winter Conference on Applications of Computer Vision (WACV), Snowmass Village, Colorado, March 2020Çiçek, Ö., Abdulkadir, A., Lienkamp, S.S., Brox, T., Ronneberger, O. (2016). 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation. In: Ourselin, S., Joskowicz, L., Sabuncu, M., Unal, G., Wells, W. (eds) Medical Image Computing and Computer-Assisted Intervention – MICCAI 2016. MICCAI 2016. Lecture Notes in Computer Science(), vol 9901. Springer, Cham.AcknowledgementsWe wish to thankJetBrainsfor supporting this project
with free open sourcePycharmlicense.


Failed to fetch description. HTTP Status Code: 404


Welcome to 3DFin: 3D Forest inventory's official repository!3DFin is a free software for automatic computation of tree parameters in terrestrial point clouds. It offers the users a quick, ease-of-use interface to load their forest plots and generate tree metrics with just a few clicks.Getting StartedBe sure to check theDocumentation, which features detailed explanations on how the program works and an User Manual.Also, theTutorialcovers the basics of 3DFin and is a great tool to get started.Download3DFin is freely available in 4 ways:As a CloudCompare plugin (Windows and Linux)As a QGIS pluginAs a standalone program (Only in Windows)As a Python package (In Windows, Linux and macOS)1. CloudCompare plugin3DFin is available in Windows as aplugin in CloudCompare (2.13)thanks to CloudCompare PythonRuntime (seeReferences). You can download the latest version CloudCompare (Windows installer version) including the 3DFin plugin here:CloudCompareSimply install the latest version of CloudCompare and tick Python and 3DFin's checkbox during the installation:To install 3DFin plugin, tick the 'Python plugin support' checkbox during CloudCompare installation.For Linux, the plugin is embedded into the CloudCompareflatpak.3DFin plugin in CloudCompare.Running the plugin will open 3DFin's graphical user interface (GUI).3DFin GUI. It is common to any version of 3DFin.2. QGIS plugin3DFin is also available as a plugin inQGIS. Please follow the instructions availableherein order to test it.
Note that for now this does not provide much added value in comparison with CloudCompare and Standalone version of 3DFin.3. Standalone program3DFin is also available in Windows as a standalone program, which can be downloaded from here:Standalone.3DFin standalone does not require a CloudCompare installation and provides the fastest computation times.Older versions of 3DFin standalone may also be downloaded fromReleases. From there, simply navigate to the desired version and click on3DFin.exe.4. Python package (3DFin)3DFin and its dependencies may be installed and launchedin any OS (Windows, Linux and macOS)as a Python package:pip install 3DFinpython -m three_d_finIf you are a macOS or Linux user and you may want to try 3DFin, this is the way you should proceed.pipwill also install a script entry point in your Python installation's bin|script directory, so alternatively you can launch 3DFin from the command line with:3DFin[.exe]macOS user may need to install and use an openMP capable compiler, such as GCC fromHomebrewin order to install the dependencies.UsageCloudCompare plugin is the reccomended way of using 3DFin, as it provides enhanced features for visualisation of the results and exporting of the outputs (it allows to export the results as a CloudCompare native BIN file).By default, running 3DFin (either the CloudCompare plugin or any version of 3DFin) will open a GUI window.For batch processing you can use the CLI capabilities of 3DFin and running the following command:3DFin[.exe] cli --helpwill give you an overview of the available parameters.Citing 3DFinAs of now, the best way to cite 3DFin is by referring to the original paper describing the algorithm behind:Cabo, C., Ordóñez, C., López-Sánchez, C. A., & Armesto, J. (2018). Automatic dendrometry: Tree detection, tree height and diameter estimation using terrestrial laser scanning. International Journal of Applied Earth Observation and Geoinformation, 69, 164–174.https://doi.org/10.1016/j.jag.2018.01.011Or directly citing the repository itself:3DFin: 3D Forest Inventory. 3DFinhttps://github.com/3DFin/3DFin.We are currently working on a scientific article about 3DFin, which may be published in 2023.ReferencesCloudCompare-PythonRuntime, by Thomas Montaigu:CloudCompare-PythonRuntimeAcknowledgement3DFin has been developed at the Centre of Wildfire Research of Swansea University (UK) in collaboration with the Research Institute of Biodiversity (CSIC, Spain) and the Department of Mining Exploitation of the University of Oviedo (Spain).Funding provided by the UK NERC project (NE/T001194/1):'Advancing 3D Fuel Mapping for Wildfire Behaviour and Risk Mitigation Modelling'and by the Spanish Knowledge Generation project (PID2021-126790NB-I00):‘Advancing carbon emission estimations from wildfires applying artificial intelligence to 3D terrestrial point clouds’.


The 3Di command line clientThe 3Di command line client allows forDefining and running 3Di scenarios from the command line.Assembling different scenarios as a "suite" that will be run in batch.Management commands, for instance to list currently running simulations.There are three main entry points for the 3Di command line client.Scenario command$ scenario --help

Usage: scenario [OPTIONS] COMMAND [ARGS]...

Options:
  --endpoint [localhost|staging|production]
                                  The endpoint where commands are run against
  --help                          Show this message and exit.

Commands:
  auth           Provide authentication details
  models         List available threedimodels
  organisations  List available organisations
  results        Download results of a simulation
  run            Run a given scenario
  scenarios      List local scenarios
  settings       Set default settings
  simulations    List simulationsSuite command$ suite --help

Usage: suite [OPTIONS]

  run suite a given suite

Options:
  --suite PATH  path to the suite file  [required]
  --help        Show this message and exit.Active simulations command$ active_simulations --help

Usage: active_simulations [OPTIONS]

  Show currently running simulations

Options:
  --endpoint [localhost|staging|production]
                                  The endpoint where commands are run against
  --help                          Show this message and exit.Dependenciespython >= 3.8InstallationDependencies python >= 3.8pip install --user 3Di-cmd-clientHistory0.0.3 (2020-12-21)Fixed settings context if config file is not yet available.0.0.1b (2020-12-18)First (beta) pypi release.


This is a simple Python package for hexapod IK calculations.Commands:To be imported as ikengineclass IKEngine # initialises the class object. Takes 4 arguments in mm - coxaLength, femurLength, tibiaLength and bodySideLength. Optionally can take a 5th argument that can either be a list or a tuple. Please pass the servos that need to be reversed into this tuple/list. They will be reversed (angle = 180 - angle) for the whole runtime of your program that utilises this library.shift_lean(posX, posY, posZ, rotX, rotY, rotZ) # returns an array of 18 servo angles that are calculated using IK from the given variables that correspond to the translation and tilt of the body of the hexapod. The order goes from tibia to coxa, from left to right and then from front to backAny questions or suggestions? Please feel free to contact me atmacaquedev@gmail.com


All necessary packages and scripts to run the various sensors of a 3D-PAWS station.


Registration toolsBefore everything else, the current status of the whole thing here is that it only works on UNIX systems (eg Linux & MacOs) that have reasonnable chips (eg not M1 chips for example).Purpose and "history"This repository is about two scripts to do spatial and temporal registration of 3D microscopy images.
It was initially developed to help friends with their ever moving embryos living under a microscope.
I found that actually quite a few people were interested so I made a  version of it that is somewhat easier to use.In theory, the main difficulty to make the whole thing work is to install the different libraries.CreditsThe whole thing is just a wrapping of the amazing blockmatching algorithm developed byS. Ourselin et al.and currently maintained Grégoire Malandin et al.@Team Morphem - inria(if I am not mistaking).Installationcondaandpipare required to installregistration-toolsWe recommand to install the registration tools in a specific environement (likeconda). For example the following way:conda create -n registration python=3.10You can then activate the environement the following way:conda activate registrationFor here onward we assume that you are running the commands from theregistrationcondaenvironement.Then, to install the whole thing, it is necessary to first install blockmatching. To do so you can run the following command:conda install vt -c morpheme -c trcabelThen, you can install the 3D-registration library either directly via pip:pip install 3D-registrationOr, if you want the latest version, by specifying the git repository:pip install git+https://github.com/GuignardLab/registration-tools.gitTroubleshootingWindows:If you are trying to run the script on Windows you might need to installpthreadvse2.dll.It can be found there:https://www.pconlife.com/viewfileinfo/pthreadvse2-dll/. Make sure to download the version that matches your operating system (32 or 64 bits, most likely 64).MacOs:As there are no M1 binaries available yet, please use rosetta or install an intel version of conda.UsageMost of the description on how to use the two scripts is described in themanual(Note that the installation part is quite outdated, the remaining is ok).That being said, once installed, one can run either of the scripts from anywhere in a terminal by typing:time-registrationorspatial-registrationThe location of the json files or folder containing the json files will be prompted and when provided the registration will start.It is also possible to run the registration from a script/notebook the following way:fromregistrationtoolsimportTimeRegistrationtr=TimeRegistration('path/to/param.json')tr.run_trsf()orfromregistrationtoolsimportTimeRegistrationtr=TimeRegistration('path/to/folder/with/jsonfiles/')tr.run_trsf()orfromregistrationtoolsimportTimeRegistrationtr=TimeRegistration()tr.run_trsf()and a path will be asked to be inputed.Example json filesFew example json files are provided to help the potential users. You can find informations about what they do in themanual.


3D RendererA Python module that renders 3D objects as pygame surfaces.


3DRenderPyThis is an implementation of a ray tracer based on Jamis Buck's The Ray Tracer Challenge. It supports several primitives:SpherePlaneCubeCylinderConeGroupTriangle and Somooth TriangleCSGInstallation:pip install 3DRenderPy


3dstrudelRequirementsbiopython, mrcfile, mpi4py, psutil, scipyInstalation.. code:: bash
pip install numpy


3DPhyloTreesWelcome!OverviewThe purpose of this Python package is to create 3D phylogenetic trees with two axes of variation given suitable
data in the commonAnnDataformat. The differentiating factor
between this package and functions likescipy.cluster.hierarchy.dendrogram()andsklearn.cluster.AgglomerativeClusteringis that the dendrogram produced tracks the splitting/merging patterns
of groups of taxa and individual taxa. Specifically, as used in the BioRxiv paperCerebellar nuclei evolved by
repeatedly duplicating a conserved cell type set, the
phylogenetic tree created by this package tracks the merging of different subnuclei of the cerebellar nuclei while
also tracking the merging of individual cell types within those nuclei.An example of such a dendrogram isA flattened version can be found in Fig. S22C and Fig. S23H of the linked paper above.This package is composed of three main parts:agglomeratedatametricsTheagglomeratepackage exposes methods to perform the
agglomeration of a single phylogenetic tree given suitable data and hyperparameters, and a method to perform batch
agglomeration over a range of hyperparameters and select the best tree according to any of the following metrics:Balanced Minimum Evolution (preferred)Minimum EvolutionMaximum ParsimonyThedatapackage exposes adata_loaderthat the user can define to
import their data accordingly (possibly from multiple folders or online repositories) and into an AnnData object.
Thedata_typesare used internally by the
agglomeration algorithm.Finally, themetricscurrently only provides the
Spearman correlation coefficient to measure the distance between two data points, however any distance metric in the
same form as the example provided may be added and used in the agglomeration program.InstallationThis package requires Python version 3.7 or greater, and the requirements provided inPipfileandPipfile.lock. Using pip, installation is as easy as
running:pip install 3dtrees-nbingoQuestionsIf you have any questions for how to use this code or for how it was used inCerebellar nuclei evolved by
repeatedly duplicating a conserved cell type set, then
please feel free to email me atnomir@stanford.edu. Examples usage of this package can be found in thecn_evolutionrepository, which is the analysis code used to produce the
figures in the linked paper.


3D Video ConverterA simple FFMPEG-based script for converting either two separate stereo videos or an existing 3D video into a wide range of 3D video formats.InstallationInstall3d-video-converterFrom PyPI:pipinstall3d-video-converterOr from the source on GitHub:pipinstall"3d-video-converter @ git+https://github.com/evoth/3d-video-converter"The package will be installed with the module namevideo_converter_3d.Install FFmpegThis package depends onffmpeg-python, which means thatFFmpegmust be installed and accessible via the$PATHenvironment variable. Please follow appropriate installation instructions for your platform.To check if FFmpeg is installed, run theffmpegcommand from the terminal. If it is installed correctly, you should see version and build information.Usage examplesConvert a full-width parallel view video to full color red/cyan anaglyph:fromvideo_converter_3dimportconvert_3dconvert_3d("video_parallel.mp4","sbsl","video_anaglyph.mp4","arcc")Combine two separate stereo videos into a full-width parallel view video, only keeping audio from the left video:fromvideo_converter_3dimportconvert_2d_to_3dconvert_2d_to_3d("video_left.mp4","video_right.mp4",True,False,"video_parallel.mp4","sbsl")


This project helps you design and export 3D-printable wallets, similar to paper wallets (but they won’t die in a flood)Everyone who’s seriously serious about bitcoin has tried paper wallet
generators. While the idea is great, paper isn’t a great medium out of
which to make something that stores significant value. This this in
mind, we set out to make a simple, easy-to-use software that can design
and export 3D-printable wallets, with a variety of configuration
options.DependenciesPython3: this project is designed for Python3, not Python2PyBitcoin,sudo pip3 install bitcoin(no manual installation required)PyQRCode,sudo pip3 install pyqrcode(no manual installation required)OpenSCAD 2015 (or higher), just install from their website, and the
program should find it automatically (submit an issue if it doesn’t) -(manual installation required)FeaturesSupports a variety of configuration and size optionsExports wallets as STLExport keys as CSV-file for import into other software (for big
batches)Set the configuration and let it generate millions ofrandomwallets for youSupport for other cryptocurrencies, including:BitcoinLitecoinDogecoinAny other currency (as long as you know the version bit for address generation)InstructionsInstall pipWindows: download from their websiteMac: install from MacPorts or BrewLinux (Ubuntu/Debian):sudoapt-getinstallpython3-pipInstall OpenSCADDownload from their websiteMake sure you are running their newest version (or at least OpenSCAD 2015)Contact us if you need help.Install our packageTry:sudo pip3 install3d-wallet-generatorIf it continues to fail, shoot us an email and we’ll try to help.Use our packageRun3dwallet-hto see your optionsTry the default settings by running3dwallet- it will output five wallets, with the default settings, into a folder in your current directory.Play with the other settings and decide how your printer, CNC, etc. likes the different styles.Film it or take a picture, and give it to us! We’ll add it to our collection!We recommend you run the Linux version off of a LiveUSB for maximum
security (just as you would with a normal paper wallet).MiscellaneousIf you have any comments, questions, or feature requests, either
submit an issue or contact us atbtcspry@bitforwarder.comWe always accept donations at1MF7hKShzq2iSV9ZZ9hEx6ATnHQpFtM7cF!!Please donate, this project
took a bunch of effort and we want to make sure it was worth it.To Do / Features Coming SoonAdd picturesAdd option to import your own addresses/private keysOffset the white in the QR code (instead of just offsetting the
black)If you want any of these developed faster, send us a gift to our donation address above.


3ETool3EToolcontains some useful tools developed by theSERG research groupof theUniversity of Florencefor performing exergo-economic and exergo environmental analysis. Theuser manualcan be downloadedhere. Moreover, someyoutube tutorialshave been uploaded in order to help the user in compiling the excel file.1 - Calculation process 🤔⚙The beta version can be downloaded usingPIP:pip install 3EToolOnce the installation has been completed the user can import the tool, and paste to a desired location theuser manual, thecomponents documentationor thedefault excel file, as in thematlab versionof the app.importEEEToolsEEETools.paste_user_manual()EEETools.paste_components_documentation()EEETools.paste_default_excel_file()Finally, once the Excel file has been compiled, the calculation can be initialized trough this command:importEEEToolsEEETools.calculate()calculation options and user defined excel path can be passed to the function as well (default values aretrue); in case user does not pass the path, the app will automatically open a filedialog window so that it can be selected manuallyimportEEEToolsEEETools.calculate(excel_path="your_excel_file.xlsx",calculate_on_pf_diagram=True,loss_cost_is_zero=True,valve_is_dissipative=True,condenser_is_dissipative=True)2 - Debugging tools 👨💻🔍Excel file can be debugged using some specific tools that can be launched using the following command (please select the
Excel file that you want to debug on program request):importEEEToolsEEETools.launch_connection_debug()Another possible way of debugging the code is to ask the program to export the debug information on the Excel file:importEEEToolsEEETools.export_debug_information()Finally, topology can be displayed using:importEEEToolsEEETools.launch_network_display()3 - Sankey Diagrams 📈📊Sankey diagram can be plotted using the following command:importEEEToolsEEETools.plot_sankey(generate_on_pf_diagram=True,display_costs=True,)generate_on_pf_diagramcan be omitted andisTrueby default:ifFalsethe connections are defined according to thephysical topologyof the plantifTruethe connections are based on theproduct-fueldefinitiondisplay_costscan be omitted andisFalseby default:ifFalsethe thickness of the connection in the sankey diagram is proportional to theexergy fluxbetween
the components (inkW)ifTruethe thickness of the connection in the sankey diagram is proportional to theeconomic (or environmental) fluxbetween the components (in€/sor inPts/s). In addition, for each
connection, thecolor intensityis proportional to therelative cost of the stream(in€/kJor inPts/kJ)4 - Code Structure 📁The application code is divided into 3 main folders:MainModulesdirectory contains Base modules such asBlock, Connection, ArrayHandler and Drawer Classes.Block Sublcassescontains a Block subclass for each component type (e.g. expander, compressor etc.)Toolscontains different APIs needed for the program to run (e.g. the cost correlation handler,
the EES code generator, and the importer and exporter for both Excel and xml files)5 - Important Information ⚠-------------------------- !!! THIS IS A BETA VERSION !!! --------------------------please report any bug or problems in the installation topietro.ungar@unifi.itfor further information visit:https://tinyurl.com/SERG-3ETool-------------------------------- !!! HOW TO CITE !!! --------------------------------The following reference can be used to cite the tool in publications:Fiaschi, D., Manfrida, G., Ungar, P., Talluri, L.

Development of an exergo-economic and exergo-environmental tool for power plant assessment:
evaluation of a geothermal case study.

https://doi.org/10.52202/062738-0003


Effective-octoThis is a free, simlple and educative project based on pythongithub urlhttps://github.com/2028-design/effective-octoLicenseMIT


3GPP Bibtex entry generatorThis project aims to generateBiBTeXfiles that
can be used when citing3GPPspecifications. The input is a document list exported from the3GPP Portal.Installationpip install 3gpp-citationsTo also install test dependencies runpip install 3gpp-citations[test]InstructionsGo to the3GPP PortalGenerate the list of specifications you want.Download to Excel and save fileRunpython 3gpp-citations.py -i exported.xlsx -o 3gpp.bibUse in LaTeX.Optionallyuse the provided3gpp.bibdirectly.Things to noteThe outputbibtexclass is set to@techreport.If you add the option--xelatex, break-symbols\-will be used in url-fields.The version and date are read from 3gpp.org, but it is slow so it takes a while to parse the list. If you find an easy solution to this, let me know.Example output@techreport{3gpp.36.331,
 author = {3GPP},
 day = {20},
 institution = {{3rd Generation Partnership Project (3GPP)}},
 month = {04},
 note = {Version 14.2.2},
 number = {36.331},
 title = {{Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC); Protocol specification}},
 type = {Technical Specification (TS)},
 url = {https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=2440},
 year = {2017}
}ContributeSee ourcontribution guidelinesand ourCode of Conduct.AcknowledgmentThis project has been updated as part of theWASP Software and Cloud Technologycourse.This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation.


3.gitignore-aware tree tool written in Python.Example:3Output:Installpip3 install 3-pyCompatibilityIf you are on Windows, installcoloramain order to watch some colors.


Python Package ExerciseA little exercise to create a Python package, build it, test it, distribute it, and use it. Seeinstructionsfor details.


3scale REST API client in Python3Scale REST API client in a wrapper over the 3scale API.InstallingInstall and update using pip:pipinstall3scale-apiOr as a dependency using the pipenvpipenvinstall3scale-apiUsageClient supports basic CRUD operations and it using the official 3scale API.The API can be found at<https://yourdomain-admin.3scale.net>/p/admin/api_docsBasic usage of the client:fromthreescale_apiimportThreeScaleClient,resourcesfromtypingimportListclient=ThreeScaleClient(url="myaccount.3scale.net",token="secret_token",ssl_verify=True)# Get list of APIs/Services or any other resourceservices:List[resources.Service]=client.services.list()# Get service by it's nametest_service:resources.Service=client.services["test_service"]# or use: client.services.read_by_name(system_name)# Get service by it's idtest_service:resources.Service=client.services[12345]# or use client.services.read(id)# To get raw JSON response - you can use the fetch method - it takes the service idraw_json:dict=client.services.fetch(12345)# To create a new service (or any other resource), parameters are the same as you would provide by the documentationnew_service:resources.Service=client.services.create(system_name='my_testing_service',name="My Testing service")# In order to update service you can eitherclient.services[123456].update(param="new_value")# orservice:resources.Service=client.services[123456]service['param']='new_value'service.update()# To get a proxy config you can useproxy:resources.Proxy=client.services['test_service'].proxy.read()# To update the proxy you can eitherproxy:resources.Proxy=client.services['test_service'].proxy.update(parameter_to_update='update')# orproxy_instance=client.services['test_service'].proxy.read()proxy_instance['param']='new_value'proxy_instance.update()# On the service you can access the:service:resources.Service=client.services[123456]service.proxy# The PROXY clientservice.mapping_rules# mapping rules clientservice.metrics# metricsservice.app_plans# application plans# The proxy supports:proxy=service.proxy.read()proxy.promote(version=1,from_env="sandbox",to_env="production")# The promote operationproxy.mapping_rules# The mapping rulesproxy.configs# proxy configurations clientproxy.policies# Policies defined for the APIRun the TestsTo run the tests you need to have installed development dependencies:pipenvinstall--devand then run thepytest:pipenvrunpytest-vIntegration tests configurationTo run the integration tests you need to set these env variables:THREESCALE_PROVIDER_URL='https://example-admin.3scale.net'
THREESCALE_PROVIDER_TOKEN='<test-token>'

# OPTIONAL:
THREESCALE_MASTER_URL='https://master.3scale.net'
THREESCALE_MASTER_TOKEN='<test-master-token>'


### step class
step class consist common  functions which can be inherited by other classes  – setTaskID, setUUID,setTaskExecutionID,startRedisConn,setLogger,loadParams,connectToAPIForKey,createAndGetResponseFromURL,getLogger,exceptionTraceback,getRelativeFile### extract class
License-File: LICENSE.txt


DownloadRelease for 2.7 and 3.x (last version I tested was 3.4.3):https://pypi.python.org/pypi/3to2Abstractlib3to2 is a set of fixers that are intended to backport code written for
Python version 3.x into Python version 2.x.  The final target 2.x version is
the latest version of the 2.7 branch, as that is the last release in the Python
2.x branch.  Some attempts have been made, however, to make code compatible as
much as possible with versions of Python back to 2.5, and bug reports are still
welcome for Python features only present in 2.6+ that are not addressed by
lib3to2.This project came about as a Google Summer of Code (TM) project in 2009.StatusBecause of the nature of the subject matter, 3to2 is not perfect, so check all
output manually.  3to2 does the bulk of the work, but there is code that simply
cannot be converted into a Python 2 equivalent for one reason or another.3to2 will either produce working Python 2 code or warn about why it did not.
Any other behavior is a bug and should be reported.lib3to2’s fixers are somewhat well-tested individually, but there is no testing
that is done on interactions between multiple fixers, so most of the bugs in
the future will likely be found there.Intentionlib3to2 is intended to be a tool in the process of developing code that is
backwards-compatible between Python 3 and Python 2.  It is not intended to be a
complete solution for directly backporting Python 3 code, though it can often
be used for this purpose without issue.  Sufficiently large packages should be
developed with lib3to2 used throughout the process to avoid backwards-
incompatible code from becoming too embedded.There are some features of Python 3 that have no equivalent in Python 2, and
though lib3to2 tries to fix as many of these as it can, some features are
beyond its grasp.  This is especially true of features not readily detectable
by their syntax alone and extremely subtle features, so make sure that code
using lib3to2 is thoroughly tested.Repositorylib3to2 resides athttp://bitbucket.org/amentajo/lib3to2, where the bug tracker
can be found athttp://bitbucket.org/amentajo/lib3to2/issuesUsageRun “./3to2” to convert stdin (“-“), files or directories given as
arguments.  By default, the tool outputs a unified diff-formatted patch on
standard output and a “what was changed” summary on standard error, but the
“-w” option can be given to write back converted files, creating
“.bak”-named backup files.If you are root, you can also install with “./setup.py build” and
“./setup.py install” (“make install” does this for you).This branch of 3to2 must be run with Python 3.To install locally (used for running tests as a non-privileged user), the
scripts assume you are using python3.1.  Modify accordingly if you are not.Relationship with lib2to3Some of the fixers for lib3to2 are directly copy-pasted from their 2to3
equivalent, with the element of PATTERN and the corresponding transformation
switched places.  Most fixers written for this program with a corresponding
2to3 fixer started from a clone of the 2to3 fixer, then modifying that fixer to
work in reverse.  I do not claim original authorship of these fixers, but I do
claim that they will work for 3to2, independent of how they work for 2to3.
In addition, this program depends on lib2to3 to implement fixers, test cases,
refactoring, and grammar.  Some portions of lib2to3 were modified to be more
generic to support lib3to2’s calls.You should use the latest version of lib2to3 from the Python sandbox rather
than the version (if any) that comes with Python.  As a convenience,
“two2three” from the Python Package Index is a recent enough version of lib2to3
renamed to avoid conflicts.  To use this package, replace all usage of
“lib2to3” with “two2three” within the 3to2 source files after installing
“two2three” from the PyPI.  Depending on the developer’s mood, a version of
3to2 may be provided with this change already made.


Thanks to Steven Silvester, this no longer needs to be a package that is separate from 3to2.See:https://pypi.python.org/pypi/3to2


Failed to fetch description. HTTP Status Code: 404


##3xsd
3xsd is a native epoll server serving TCP/UDP connections, a high performance static web server, a
failover dns server, a http-based distributed file server, a load-balance proxy-cache server, and
a ‘warp drive’ server. Written in python, take the full power of multi-cores.##Features in detail:###3wsd - web serversupporting: static files, event driven(epoll), using mmap & sendfile to send files,
in-mem xcache, transparent gzip content transfer with fixed length(small file) &
chunked(large file), persistent storage of gzip files,
partial support of WebDAV(PUT/DELETE), pipelining support###3nsd - dns serversupporting: only A record resolution, domainname failover(refer to conf file),
ip icmp probe & hide when fail, round robbin ip resolving
global DNS Left-Right Range Resolve(LRRR)(experimental)###3zsd - proxy serversupporting: load balance backend servers, in-mem file caching &
persistent cache file storage###3fsd - distribute web file systemsupporting: mass unlimitted file storage, easy to expand,
O(1) location algorithm, non-centralized, can work with standard web server(WebDAV)
in proxy mode, file redundancy, file persistent caching###3wdd - ‘warp drive’ serversupporting: data tunneling over UDT and tun,
better congestion control than TCP/UDP over wan link,
better thoughput(above 80%) over wan link, refer to this report:http://www.c-s-a.org.cn/ch/reader/create_pdf.aspx?file_no=20091035tunnel ip/mtu/txqueuelen/route define, auto create/recreate/destroy
encrypt packages through AES-128-ECB/CBC/CFB/CTR and Blowfish-CBC/CFB/CTR
tunnel on-the-fly compress with zlib/lzo, tunnel data relaying
route metric, routing data through different path, depending on tunnel rtt(choose the best one)More to find in .conf file.##Performance:###3wsd:Small file under 1KB single process test(full in-mem), contrast with nginx configuring
accept_mutex off, 80% performance.
Multi processes test, with reuse_port enabling kernel, 95% performance of nginx(and beyond,
may be 105% or more, based on process number, I tested 2-4).
The tests above is not quite strict， but I just want to say that it’s fast enough.And with pipelining enabled, 3wsd will perform better with 3-4 requests/send(5%-10%
performance increase), 2 requests/send have the same speed with non-piplining.###3zsd:About 80% performance of 3wsd.###3nsd:Fast enough…about 2800-3000 queries/s per processes, with 1GHz bcm2709 4-cores ARMv7
cpu testing, better when multi-processes with reuse_port enabling kernel.###3fsd:Same with 3zsd.###3wdd:Early testing indicated that:
UDT tunnel(no encrypt) performing 50%-60% speed of direct TCP connection with ZetaTCP,
and package lost rate remaining below 0.6%, while direct connection has 1.4%-3%.
(Test CN-US WAN link with 150ms-280ms latency, through the always-jammed CUCN submarine cable)
However, UDT tunnel beats normal TCP connection without ZetaTCP, with 50% - 4 times
(commonly 1-2 times) outperforming.(v)(Test link like above)Update:
And an encrypted UDT tunnel with AES-CBC/CFB will has 50% performance decrease (because the
method itself processes doubled size of data, and extra iv/padding data transfer).
Now with a Blowfish-CTR method, tunnel data transfer performance is closed to raw non-encrypt
tunnel. I believe that with a intel AES-NI supported CPU(like XEON E3-1240/1270), AES-128-CTR
can also do it.###More performance:
There are at lease two ways to increase the performance of 3xsd:1.Install Cython, and rename _3xsd.py to _3xsd.pyx, run it.
Cython will compile _3xsd.py lib into a _3xsd.so file, using static type
declarations. This can gain about 5%-6% performance increasement.
2.Use PyPy.This can gain about 10%-15% performance increasement(or more).#OS requirement & install:CentOS 6/7 with python 2.6/2.7, Debian 6/7. Python 2.7 recommended.Doing this before running the program(minimal requirement):yum install python-gevent pysendfile python-setproctitle python-psutil python-pip(python-pip is optional if install dpkt)Dpkt module is also needed when running 3nsd DNS server, pip install it.If you want to use 3wdd, python-pytun, pyudt4, pycrypto, python-lzo are also needed.yum install python-crypto2.6 python-lzo (for centos6)
yum install python2-crypto (for centos7)will quickly install pycrypto(probably do some ‘linking’ works) and lzo. The other two depended on pip install.Probably you need this easy-install.pth file in python’s site-packages dir:import sys; sys.__plen = len(sys.path)
./pycrypto-2.6.1-py2.6-linux-x86_64.egg
./pyudt4-0.6.0-py2.6-linux-x86_64.egg
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,’__egginsert’,0); sys.path[p:p]=new;          sys.__egginsert = p+len(new)I provide pre-compiled package [pyudt_tun-centos6-x86_64.tar.gz](https://github.com/zihuaye/3xsd/blob/master/pyudt_tun-centos6-x86_64.tar.gz) and [pyudt_tun_lzo-centos7-x86_64.tar.gz](https://github.com/zihuaye/3xsd/blob/master/pyudt_tun_lzo-centos7-x86_64.tar.gz) to simplify
the installation procedure of pyudt4 & python-pytun.Be aware of pyudt4 having some bugs, you’d better download it’s source code of epoll-fixes branch and
apply the patch I offered. See changelog.txt v0.0.20  2016.03.07 fixed section for detail.
(Already included in [pyudt_tun-centos6-x86_64.tar.gz](https://github.com/zihuaye/3xsd/blob/master/pyudt_tun-centos6-x86_64.tar.gz) and [pyudt_tun_lzo-centos7-x86_64.tar.gz](https://github.com/zihuaye/3xsd/blob/master/pyudt_tun_lzo-centos7-x86_64.tar.gz))Or, of cause you can let pip do it all for you(not including patching pyudt4):pip install 3xsdIn a debian, you can use apt-get to install python-pip(pip) or python-setuptools(easy_install),
then to install the packages following.Python Packages(Modules) version reference:gevent==0.13.8(1.0.1, 1.1)
greenlet==0.4.2
pysendfile==2.0.1
setproctitle==1.0.1
psutil==0.6.1
dpkt==1.6(1.8.6)
python-pytun==2.2.1
pyudt4==0.6.0(epoll-fixes branch)
pycrypto==2.6.1
python-lzo==1.8System libs version reference:libevent-1.4.13-4(not actually used, just needed for gevent to function)
udt-4.11-6
lzo-2.03-3.1To install a module of specific version(like gevent 0.13.8), you can:pip install gevent==0.13.8This will install the latest version of gevent(pypy will need it):pip install git+git://github.com/surfly/gevent.git#egg=gevent


# 3yzhA three-circle calculator, It contains Circle Circles and Cylinders.
It is in Chinese.If you konw how to speak and write or mean these,you can useNow,you can Download and input python 3y and then it will runningPlease comply with local laws and regulations,
User only has the right to use
The final interpretation belongs to the author
For mainland China only.
You can see or read the log in log.py
This means that you have read and agreed to all the above regulations.Welcome Download and use!


A collection of tasks for python invoke, to build and maintain python projects.Free software: BSD licenseInstallationpip install 40wt-common-taskssDocumentationhttps://40wt-common-tasks.readthedocs.org/DevelopmentTo run the all tests run:toxNote, to combine the coverage data from all the tox environments run:Windowsset PYTEST_ADDOPTS=--cov-append
toxOtherPYTEST_ADDOPTS=--cov-append toxChangelog0.2.0 (2016-07-29)Tasks were fixed to work withinvoke >= 0.13.0.New taskcheck_if_dirtywas added. Make your tasks depend on it,
and execution will be interrupted if some git changes aren’t commited and pushed.0.1.0 (2016-02-10)First release on PyPI.


42cc-pystyleflake8 plugins for 42 Coffee Cups style checks0.0.7
flake8 version bump to 3.8.30.0.6
fixed flake8 warnings :)0.0.5
fixed package layout declaration0.0.4
fixed nosetests0.0.3
moved code to a subfolder0.0.2
Added MANIFEST.in0.0.1
Tests should have docstrings
Tests for the module could be run vianosetestsorpython setup.py nosetests


42di Python SDK42di is the python sdk for 42di.com42di.com is a platform for data science.Installpipinstall42diORpipinstallgit+https://github.com/42di/python-sdkPut to / read from 42diimportdi#42diimportpandas_datareaderaspdrdi.TOKEN="<YOUR_ACCESS_TOKEN>"df=pdr.get_data_fred('GDP')di.put("42di.cn/shellc/testing/my_dataset",df,create=True,update_schema=True)df=di.read("42di.cn/shellc/testing/my_dataset")print(df.head(100))


42-Points-GamePython implementation of the fourty-two points game.Introduction"42 Points" game is a variation based on the popular and long-lived "24 Points" game. The player should only use addition, subtraction, multiplication, division and parentheses andfiveintegers between 0 and 13 (inclusive) to get 42. It's really simple to understand, as the core of the game still relies on math calculations.Design LogicThis package is designed towork as a core processing part, providing:Problem databaseProblem generation (by user / in database)Start / stop the gameTimer for solutionsPlayer statisticsEquivalent solution detectionA bunch of APIs and exceptionsThis package is not designed tofully implement everythingwith the game, so the formatting parts should be written by end-users. But don't worry, the API in this package is enough to create whatever you need.UsageAs equivalent detection is not a easy issue, we will make several changes to make sure it satisfies our need in the following upgrades. Please just kindly use the latest version.It's recommended to usepip:pipinstall--upgrade42PointsBut building withsetup.pywill also work, as no other third-party dependencies are required for this package.After you have installed the package, you are almost done. If you want to try it out quickly, just open your IDLE (or something like that) and type:fromftptsgameimportFTPtsGameapp=FTPtsGame()# initializeapp.generate_problem(problem=[1,2,3,4,5])# generate a problem beforehandapp.start()# start the gameapp.get_current_problem()# show the problemapp.solve('2 * 4 * 5 + 3 - 1')# put forward a valid solutionapp.get_current_solutions()# show all solutionsapp.get_remaining_solutions()# show remaining solutionsapp.stop()# stop the gameWell, you can integrate this package into your projects by using just the same way, and you can format problems in all the ways you like.ExceptionsPermissionError: Raised during a status check, some methods must be used in the game, while other can't be used.TypeError: Raised when the problem type is not defined.ValueError: Raised when the parameter of generating a problem is invalid, or a user inputs unmatched numbers.OverflowError: Raised when a user input a too long expression. (greater than or equal to 30 characters after beautifying)SyntaxError: Raised when a user input an expression which can't be parsed.ArithmeticError: Raised when a user inputs a wrong answer.LookupError: Raised when a user inputs an equivalent answer.Other exceptions will be raised when an input fails built-in parameter checks.LicenseThis package is licensed under theMIT License.ContributionPull requests and issues are warmly welcomed.


the following is the usage:1.Paste file to 42qu.cchi@Mars~$ 42qucc < foo.txthttp://42qu.cc/xa47qt4712.Custom urlhi@Mars~$ 42qucc hi < foo.txthttp://42qu.cc/hi3.Save web page to local filehi@Mars~$ 42qucchttp://42qu.cc/xa47qt471>  foo.txt


# 42videobricks-python-client
Official Pyhton client library for 42videobricks API.

42videobricks is a Video Platform As A Service (VPaaS).

Get documentation in the [Github readme](https://github.com/42videobricks/42videobricks-nodejs-client#readme).


Using this event management system, a user can create events or book tickets for an event as well as view all events and all tickets or get a summary of all tickets


47114711is a natural number that follows4710and that is followed by4712. It's somewhat of "a large arbitrary number".In this case however,4711isn't just a number. It's a CLI tool (or collection CLI tools if you wish) for working with data structures, parsing values, handling conversion and formatting the output. It's written in Python, but doesn't require any extensive Python knowledge for use.Requires Python 3.6+ and should be run on Unix-like systems such as Linux, BSD, macOS, etc.Installation withpipx(preferred) orpipIt's recommended to install4711usingpipx, which is a tool that stores Python based command line interface applications in their own virtual environment, effectively making it accessible without you having to think about setting up virtualenvs on your own or handle the dependencies.pipxis available athttps://github.com/pipxproject/pipx.To install usingpipx(depending on how you've installedpipxpreviously, may have to usesudo):$ pipx install 4711If you prefer to install the CLI normally usingpip, go ahead and run:$ pip install 4711Usage and examplesUse-case$ 4711 --help


fourch (stylized as 4ch) is a wrapper to the 4chan JSON API, provided by moot. It allows you to interact with 4chan (in a READONLY way) easily through your scripts.Originally <strike>stolen</strike> forked frome000/py-4chan, but then I moved repos and renamed stuff since I’m pretty bad about that.RequirementsPython 2.7 (what I test with, 2.x might work)requestsNotesThis isn’t guaranteed to work all the time; after all, the API may change, and 4ch will have to be updated accordingly.If a feature is missing, open an issue on therepo, and it may well be implemented.Running / UsageInstall & import:$ pip install 4ch,import fourchSee thedocsContributingIf you’re interested in contributing to the usability of 4ch, or just want to give away stars, you can visit the 4ch githubrepo.


A python script that downloads all images from a 4chan thread.Installpip install 4chanUsageusage: chan [-h] [--watch] url

positional arguments:
  url         The url of the thread.

optional arguments:
  -h, --help  show this help message and exit
  --watch     If this argument is passed, we will watch the thread for new
              images.Examplechan thread-url


4chan thread downloader.pip install 4chandownloader
4chandownloader http://boards.4chan.org/b/res/423861837 4chanarchives --delay 5 --thumbs


4channel is a python3 tool and module to download all images/webm from a 4channel thread.InstallationDependencies4channel requires:python (>= 3.6)User installationpip install 4channelUsageusage: 4channel [-h] [--webm] [--watch] [--dryrun] [-r RECURSE] url [out]

positional arguments:
  url                   the url of the thread.
  out                   specify output directory (optional)

optional arguments:
  -h, --help            show this help message and exit
  --webm                in addition to images also download webm videos.
  --watch               watch the thread every 60 seconds for new images.
  --dryrun              dry run without actually downloading images.
  -r RECURSE, --recurse RECURSE
                        recursively download images if 1st post contains link to previous thread up to specified depth
examples:
  python -m fourchannel https://boards.4channel.org/g/thread/76759434#p76759434

  import fourchannel as f
  f.download(url='https://boards.4channel.org/g/thread/76759434#p76759434')


4Code Software Developement KitCommon functions in one place.This library is written for economy time of developement.
Common usage tools in one touch. Free license.Authors nicnames:AngryDanny+N_XY


4DGB toolkitThis is the toolkit associated with the 4DGenomeBrowser project


PyAutoDiff provides the ability to seamlessly calculate the gradient of a given function within your Python code. By using automatic differentiation, this project addresses efficiency and precision issues in symbolic and finite differentiation algorithms


4D Radar4d_radar is a Python package developed to house utilities for the processing and analysis of 4D radar point cloud data.FeaturesWork in ProgressContributingContributions to 4d_radar are welcome!License4d_radar is licensed under the MIT License.


📦 setup.py (for humans)This repo exists to providean example setup.pyfile, that can be used
to bootstrap your next Python project. It includes some advanced
patterns and best practices forsetup.py, as well as some
commented–out nice–to–haves.For example, thissetup.pyprovides a$ python setup.py uploadcommand, which creates auniversal wheel(andsdist) and uploads
your package toPyPiusingTwine, without the need for an annoyingsetup.cfgfile. It also creates/uploads a new git tag, automatically.In short,setup.pyfiles can be daunting to approach, when first
starting out — even Guido has been heard saying, "everyone cargo cults
thems". It's true — so, I want this repo to be the best place to
copy–paste from :)Check out the example!Installationcdyour_project# Download the setup.py file:#  download with wgetwgethttps://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py-Osetup.py#  download with curlcurl-Ohttps://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.pyTo DoTests via$ setup.py test(if it's concise).Pull requests are encouraged!More ResourcesWhat is setup.py?on Stack OverflowOfficial Python Packaging User GuideThe Hitchhiker's Guide to PackagingCookiecutter template for a Python packageLicenseThis is free and unencumbered software released into the public domain.Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any means.


Failed to fetch description. HTTP Status Code: 404


4logik python rest clientUtility package to call an enpoint generated by 4LogikInstallationUse pippip install 4logik-python-rest-clientHow to call a CSV endpointLocate the input CSV fileIdentify the URL of the enpointIdentify the name of the data set of the response that contains the resultsExample of using the package:frompy4logik_python_rest_client.endpoint_callerimportcall_csv_endpoint,call_csv_endpoint_read_data_set# input parametersinput_csv_file="/home/user1/incomingData.csv"endpoint_url="http://myOrganization.myDeployedService.com/RiskCalulationProcess"# call the endpointreceived_json_data=call_csv_endpoint(ms_url,input_csv_file)print(received_json_data)The result will contain useful metadata like the quantity of business exceptions and the list of data sets which you can print using:print(received_json_data["data_sets_names"])print(received_json_data["data_sets_results"])To read the specific rows of a data set, call the method "call_csv_endpoint_read_data_set" sending the name of the data set, like this:specific_data_set_name_to_read="ReportResult"data_set_result_rows=call_csv_endpoint_read_data_set(ms_url,input_csv_file,specific_data_set_name_to_read)print(data_set_result_rows)Example using the package inside Jupyter and converting the result to a data frame:importjsonimportpandasaspdimporttempfilefrompy4logik_python_rest_client.endpoint_callerimportcall_csv_endpoint_read_data_set# input parametersinput_csv_file="/home/user1/incomingData.csv"endpoint_url="http://myOrganization.myDeployedService.com/RiskCalulationProcess"dataset_name="riskResult"# call the endpointreceived_json_data=call_csv_endpoint_read_data_set(ms_url,input_csv_file,dataset_name)# now convert the received json to pandatemp_file=tempfile.NamedTemporaryFile(delete=False)output_json=temp_file.namewithopen(output_json,'w',encoding='UTF_8')asf:f.write(json.dumps(received_json_data))f.close()final_data_frame=pd.read_json(output_json)final_data_frame


4scanner4scanner can search multiple imageboards threads for matching keywords then download all images to disk.Supported imageboards4chanlainchanuboachanYou can create an issue if you want to see other imageboards supportedInstallingpip3 install 4scanner(4scanner is ONLY compatible with python3+)For Arch Linux there is anAUR packageRunning via DockerCreate a config (detail below), name it config.json and drop it where you would like to download the images. Then run a container:docker run -v /can/be/anywhere:/output -v /anywhere/else:/root/.4scanner lacsap/4scanner/can/be/anywhereCan be anywhere on your computer, images will be downloaded there (This is the directory where you need to put the config.json)/anywhere/elseCan be anywhere on your computer, it will contain the sqlite3 database 4scanner use to keep track of downloaded threads and duplicateHow tothe first thing you need to do is create a simple json file with the directories names
you want, the boards you want to search and the keywords.
(see the json file section for more details)After your json file is done you can start 4scanner with:4scanner file.jsonit will search all threads for the keywords defined in your json file and
download all images/webms from threads where a keyword is found. (In the current directory unless you specify one with -o )Creating your JSON file via the 4genconf script (easy)The4genconfutility is now installed as of 4scanner 1.5.1. This utility will ask you simple questions about what you want to download and generate a configuration file for you!Creating your JSON file manuallyCreating the JSON file is easy, you can use the example.json file as a base.Your "Searches" are what 4scanner use to know which board to check for what keywords and the name of the folder where it needs to download the images, you can have as many "Searches" as you want.Here is an example of what the JSON file should look like:{"searches":[{"imageboard":"IMAGEBOARD","folder_name":"YOUR_FOLDER_NAME","board":"BOARD_LETTER","keywords":["KEYWORD1","KEYWORD2"]},{"imageboard":"4chan","folder_name":"vidya","board":"v","keywords":["tf2","splatoon","world of tank"]}]}Search options4scanner has a lot of options for downloading only the images you want. Such as downloading only images with a certain width or height, or only images with a certain extension.To see all available options with examples check out:OPTIONS.mdHydrus Networkusers: check out thetagoptionto automatically tag your images on importExample with all optional options{"searches":[{"imageboard":"4chan","folder_name":"vidya","board":"v","width":">1000","height":">1000","filename":"IMG_","extension":[".jpg",".png"],"tag":["game"],"keywords":["tf2","splatoon","world of tank"],"check_duplicate":true,"subject_only":false}]}This will download images bigger than 1000x1000 which are .jpg or .png with a filename containingIMG_Notesthe keywords search is case insensitive4downloader4downloader is also installed with 4scanner and can be use to download
a single thread like this:4downloader http://boards.4chan.org/b/thread/373687492It will download all images until the thread die.
You can also download threads from imageboards other than 4chan with-i


SF4wDfour-component stochastic frontier model with determinantsMotivationThis package was developed to complement four-component stochastic frontier that considerdeterminants in mean and variance parameters of inefficiency distributionsby Ruei-Chi Lee.InstallationInstall via$ pip install 4SFwDFeaturesSF4wD: main.py - set method and model to run simulation or real dataHMC: Hamilton Monte Carlo designed for determinants parameters.DA: Data augmentation for the modelTK: Two-parametrization method originally proposed by Tsiona and Kunmbhaker (2014) for four-component model without determinants.PMCMC: Particle MCMC for the model (perferred approach) - speed up by GPU parallel computationExampleHere is how you run a simulation estimation for a four-component stochastic frontier model via PMCMC:Parameter setting guideline in the SF4wD.pySimulation data only offers stochastic frontier model that consider determinants in both mean and variance parameter of inefficiencies.importSF4wD#model:str - different way to consider determinants#method:str - different Bayesian method to estimate the model#data_name : str - simulation data or data in data/.#S : int - MCMC length#H : int - number of particles in PMCMC#gpu: boolean - use parallel computation to run PMCMC#save: boolean - save MCMC datamy_model=SF4wD(model='D',method='PMCMC',data_name='',S=10,H=100,gpu=False,save=False)my_model.run()output:meansdhpd_3%hpd_97%mcse_meanmcse_sdess_meaness_sdess_bulkess_tailr_hatbeta02.4120.0932.3182.5550.0460.0354.04.07.010.0NaNbeta11.0780.0740.9771.2420.0230.01710.010.010.010.0NaNxi00.5800.0430.5310.6520.0140.0119.09.08.010.0NaNxi10.6940.1270.4790.8670.0730.0583.03.03.010.0NaNdelta00.1410.0720.0130.2730.0230.01910.08.010.010.0NaNdelta10.7740.1370.6200.9840.0790.0633.03.03.010.0NaNz0-0.4610.716-1.8440.6090.3760.2914.04.04.010.0NaNz12.7280.8891.2683.9410.4590.3544.04.04.010.0NaNgamma00.6620.0920.5000.7730.0520.0413.03.03.010.0NaNgamma10.4120.0610.3490.5190.0210.0159.09.09.010.0NaNsigma_alpha_sqr1.3770.1781.0951.6930.0750.0576.06.06.010.0NaNsigma_v_sqr2.5752.5231.2909.5151.0620.7936.06.03.010.0NaNLicenseRuei-Chi Lee is the main author and contributor.Bug reports, feature requests, questions, rants, etc are welcome, preferably
on the github page.


4Suite is a collection of Python tools for XML processing and object-databases.4Suite is an integrated packaging of 4DOM, 4XPath, 4XSLT, 4RDF, and 4ODS.


XML tools and libraries for Python: Domlette, XPath, XSLT, XPointer, XLink, XUpdate


4to5 - Replace the number 4 with the number 5.Unlike 2to3, this module finally does what it says! Replaces two numbers on your
interpreter. It’s a true life-saver for both you and your colleagues.Usagepipinstall4to5python>>>2+25>>>3+15>>>3+2==3+1True>>>4-23>>4-1# Cause 4-1 == 5-1 == 4 == 55>>>foriinrange(10):...print(i)...0123556789Notes50% chance you won’t be able to remove it, as apparently the number 4 is
impotant for pip, and without it pip doesn’t seem to work properly.To manually uninstall, deletesitecustomize.pyfrom yoursite-packagesdirectory.
Maybe I’ll add afix_my_system.pyfile in the future to remove it without using
the number 4.Supports virtual environments.Enjoy!


Device Detection Python API51Degrees Mobile Detector is a server side mobile detection solution.ChangelogFixed a bug where an additional compile argument was causing compilation errors with clang.Updated the v3-trie-wrapper package to include the Lite Hash Trie data file.Updated Lite Pattern data file for November.Update Lite Hash Trie data file for November.GeneralBefore you start matching user agents, you may wish to configure the solution to use a different database. You can easily generate a sample settings file running the following command$ 51degrees-mobile-detector settings > ~/51degrees-mobile-detector.settings.pyThe core51degrees-mobile-detectoris included as a dependency when installing either the51degrees-mobile-detector-v3-wrapperor51degrees-mobile-detector-v3-wrapperpackages.During install a directory which contains your data file will be created in~\51Degrees.SettingsGeneral SettingsDETECTION_METHOD(defaults to ‘v3-wrapper’). Sets the preferred mobile device detection method. Available options are v3-wrapper (requires 51degrees-mobile-detector-v3-wrapper package), v3-trie-wrapperPROPERTIES(defaults to ‘’). List of case-sensitive property names to be fetched on every device detection. Leave empty to fetch all available properties.LICENCEYour 51Degrees license key for enhanced device data. This is required if you want to set up the automatic 51degrees-mobile-detector-premium-pattern-wrapper package updates.Trie Detector settingsV3_TRIE_WRAPPER_DATABASELocation of the Hash Trie data file.Pattern Detector settingsV3_WRAPPER_DATABASELocation of the Pattern data file.CACHE_SIZE(defaults to 10000). Sets the size of the workset cache.POOL_SIZE(defaults to 20). Sets the size of the workset pool.Usage Sharer SettingsUSAGE_SHARER_ENABLED(defaults to True). Indicates if usage data should be shared with 51Degrees.com. We recommended leaving this value unchanged to ensure we’re improving the performance and accuracy of the solution.Adavanced usage sharer settings are detailed in your settings file.Automatic UpdatesIf you want to set up automatic updates, add your license key to your settings and add the following command to your cron$ 51degrees-mobile-detector update-premium-pattern-wrapperNOTE: Currently auto updates are only available with our Pattern API.UsageCoreBy executing the following a useful help page will be displayed explaining basic usage.$ 51degrees-mobile-detectorTo check everything is set up , try fetching a match with$ 51degrees-mobile-detector match “Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176”ExamplesAdditional examples can be found on ourGitHubrepository.User SupportIf you have any issues please get in touch with ourSupportor open an issue on ourGitHubrepository.


51Degrees Mobile Detector is a Python wrapper of the lite C pattern-based
mobile detection solution by 51Degrees.mobi. Check outhttp://51degrees.mobifor a detailed description, extra documentation and other useful information.copyright:2013 by 51Degrees.mobi, see README.rst for more details.license:MPL2, see LICENSE.txt for more details.


51Degrees Mobile Detector is a Python wrapper of the C trie-based mobile
detection solution by 51Degrees.mobi. Check outhttp://51degrees.mobifor
a detailed description, extra documentation and other useful information.copyright:2013 by 51Degrees.mobi, see README.rst for more details.license:MPL2, see LICENSE.txt for more details.


Device Detection Python API51Degrees Mobile Detector is a server side mobile detection solution.ChangelogFixed a bug where an additional compile argument was causing compilation errors with clang.Updated the v3-trie-wrapper package to include the Lite Hash Trie data file.Updated Lite Pattern data file for November.Updated Lite Hash Trie data file for November.GeneralBefore you start matching user agents, you may wish to configure the solution to use a different database. You can easily generate a sample settings file running the following command$ 51degrees-mobile-detector settings > ~/51degrees-mobile-detector.settings.pyThe core51degrees-mobile-detectoris included as a dependency when installing either the51degrees-mobile-detector-v3-wrapperor51degrees-mobile-detector-v3-wrapperpackages.During install a directory which contains your data file will be created in~\51Degrees.SettingsGeneral SettingsDETECTION_METHOD(defaults to ‘v3-wrapper’). Sets the preferred mobile device detection method. Available options are v3-wrapper (requires 51degrees-mobile-detector-v3-wrapper package), v3-trie-wrapperPROPERTIES(defaults to ‘’). List of case-sensitive property names to be fetched on every device detection. Leave empty to fetch all available properties.LICENCEYour 51Degrees license key for enhanced device data. This is required if you want to set up the automatic 51degrees-mobile-detector-premium-pattern-wrapper package updates.Trie Detector settingsV3_TRIE_WRAPPER_DATABASELocation of the Hash Trie data file.Pattern Detector settingsV3_WRAPPER_DATABASELocation of the Pattern data file.CACHE_SIZE(defaults to 10000). Sets the size of the workset cache.POOL_SIZE(defaults to 20). Sets the size of the workset pool.Usage Sharer SettingsUSAGE_SHARER_ENABLED(defaults to True). Indicates if usage data should be shared with 51Degrees.com. We recommended leaving this value unchanged to ensure we’re improving the performance and accuracy of the solution.Adavanced usage sharer settings are detailed in your settings file.Automatic UpdatesIf you want to set up automatic updates, add your license key to your settings and add the following command to your cron$ 51degrees-mobile-detector update-premium-pattern-wrapperNOTE: Currently auto updates are only available with our Pattern API.UsageCoreBy executing the following a useful help page will be displayed explaining basic usage.$ 51degrees-mobile-detectorTo check everything is set up , try fetching a match with$ 51degrees-mobile-detector match “Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176”ExamplesAdditional examples can be found on ourGitHubrepository.User SupportIf you have any issues please get in touch with ourSupportor open an issue on ourGitHubrepository.


Device Detection Python API51Degrees Mobile Detector is a server side mobile detection solution.ChangelogFixed a bug where an additional compile argument was causing compilation errors with clang.Updated the v3-trie-wrapper package to include the Lite Hash Trie data file.Updated Lite Pattern data file for November.Updated Lite Hash Trie data file for November.GeneralBefore you start matching user agents, you may wish to configure the solution to use a different datadase. You can easily generate a sample settings file running the following command$ 51degrees-mobile-detector settings > ~/51degrees-mobile-detector.settings.pyThe core51degrees-mobile-detectoris included as a dependency when installing either the51degrees-mobile-detector-v3-wrapperor51degrees-mobile-detector-v3-wrapperpackages.During install a directory which contains your data file will be created in~\51Degrees.SettingsGeneral SettingsDETECTION_METHOD(defaults to ‘v3-wrapper’). Sets the preferred mobile device detection method. Available options are v3-wrapper (requires 51degrees-mobile-detector-v3-wrapper package), v3-trie-wrapperPROPERTIES(defaults to ‘’). List of case-sensitive property names to be fetched on every device detection. Leave empty to fetch all available properties.LICENCEYour 51Degrees license key for enhanced device data. This is required if you want to set up the automatic 51degrees-mobile-detector-premium-pattern-wrapper package updates.Trie Detector settingsV3_TRIE_WRAPPER_DATABASELocation of the Hash Trie data file.Pattern Detector settingsV3_WRAPPER_DATABASELocation of the Pattern data file.CACHE_SIZE(defaults to 10000). Sets the size of the workset cache.POOL_SIZE(defaults to 20). Sets the size of the workset pool.Usage Sharer SettingsUSAGE_SHARER_ENABLED(defaults to True). Indicates if usage data should be shared with 51Degrees.com. We recommended leaving this value unchanged to ensure we’re improving the performance and accuracy of the solution.Adavanced usage sharer settings are detailed in your settings file.Automatic UpdatesIf you want to set up automatic updates, add your license key to your settings and add the following command to your cron$ 51degrees-mobile-detector update-premium-pattern-wrapperNOTE: Currently auto updates are only available with our Pattern API.UsageCoreBy executing the following a useful help page will be displayed explaining basic usage.$ 51degrees-mobile-detectorTo check everything is set up , try fetching a match with$ 51degrees-mobile-detector match “Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176”ExamplesAdditional examples can be found on ourGitHubrepository.User SupportIf you have any issues please get in touch with ourSupportor open an issue on ourGitHubrepository.


pythonProject介绍{以下是 Gitee 平台说明，您可以替换此简介Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台（同时支持 SVN）。专为开发者提供稳定、高效、安全的云端软件开发协作平台
无论是个人、团队、或是企业，都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看https://gitee.com/enterprises}软件架构软件架构说明安装教程xxxxxxxxxxxx使用说明xxxxxxxxxxxx参与贡献JasonZheng特技使用 Readme_XXX.md 来支持不同的语言，例如 Readme_en.md, Readme_zh.mdGitee 官方博客blog.gitee.com你可以https://gitee.com/explore这个地址来了解 Gitee 上的优秀开源项目GVP全称是 Gitee 最有价值开源项目，是综合评定出的优秀开源项目Gitee 官方提供的使用手册https://gitee.com/helpGitee 封面人物是一档用来展示 Gitee 会员风采的栏目https://gitee.com/gitee-stars/


51tracking-sdk-pythonThe Python SDK of 51Tracking APIContact:service@51tracking.orgOfficial documentDocumentSupported Python Versions3.63.73.83.93.10pypy3IndexInstallationTestingError HandlingSDKCouriersTrackingsAir WaybillInstallation$ pip install 51trackingVia source code下载代码压缩包，无需解压缩，进入源代码根目录，然后运行：$ pip install 51tracking-sdk-python.zipQuick Startimporttracking51tracking51.api_key='you api key'try:couriers=tracking51.courier.get_all_couriers()print(couriers)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)TestingpytestError handlingThrowby the new SDK clientimporttracking51tracking51.api_key=''try:couriers=tracking51.courier.get_all_couriers()print(couriers)excepttracking51.exception.Tracking51Exceptionasce:print(ce)# API Key is missingThrowby the parameter validation in functionimporttracking51tracking51.api_key='you api key'try:params={'tracking_number':'','courier_code':'usps'}result=tracking51.tracking.create_tracking(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)# Tracking number cannot be emptyExamplesCouriers返回所有支持的快递公司列表https://api.51Tracking.com/v4/couriers/alltry:result=tracking51.courier.get_all_couriers()print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)Trackings单个物流单号实时添加且查询https://api.51Tracking.com/v4/trackings/createtry:params={'tracking_number':'92612903029511573030094547','courier_code':'usps'}result=tracking51.tracking.create_tracking(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)获取多个物流单号的查询结果https://api.51Tracking.com/v4/trackings/gettry:# Perform queries based on various conditions# params = {'tracking_numbers': '92612903029511573030094547', 'courier_code': 'usps'}# params = {'tracking_numbers': '92612903029511573030094547,92612903029511573030094548', 'courier_code': 'usps'}params={'created_date_min':'2023-08-23T14:00:00+00:00','created_date_max':'2023-08-23T15:04:00+00:00'}result=tracking51.tracking.get_tracking_results(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)添加多个物流单号（一次调用最多创建 40 个物流单号）https://api.51Tracking.com/v4/trackings/batchtry:params=[{'tracking_number':'92612903029511573030094593','courier_code':'usps'},{'tracking_number':'92612903029511573030094594','courier_code':'usps'}]result=tracking51.tracking.batch_create_trackings(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)根据ID更新物流信息https://api.51Tracking.com/v4/trackings/update/{id}params={'customer_name':'New name','note':'New tests order note'}id_string="9a2f732e29b5ed2071d4cf6b5f4a3d19"try:result=tracking51.tracking.update_tracking_by_id(id_string,params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)通过ID删除单号https://api.51Tracking.com/v4/trackings/delete/{id}id_string="9a2f7d1e8b912b729388c5835c188c28"try:result=tracking51.tracking.batch_create_trackings(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)通过ID重新查询过期的单号https://api.51Tracking.com/v4/trackings/retrack/{id}id_string="9a2f7d1e8b912b729388c5835c188c28"try:result=tracking51.tracking.retrack_tracking_by_id(id_string)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)Air Waybill查询航空运单的结果https://api.51Tracking.com/v4/awbparams={'awb_number':'235-69030430'}try:result=tracking51.air_waybill.create_an_air_waybill(params)print(result)excepttracking51.exception.Tracking51Exceptionasce:print(ce)exceptExceptionase:print("other error:",e)响应状态码51Tracking 使用传统的HTTP状态码来表明 API 请求的状态。通常，2xx形式的状态码表示请求成功，4XX形式的状态码表请求发生错误（比如：必要参数缺失），5xx格式的状态码表示 51tracking 的服务器可能发生了问题。Http CODEMETA CODETYPEMESSAGE200200成功请求响应成功。400400错误请求请求类型错误。请查看 API 文档以了解此 API 的请求类型。4004101错误请求物流单号已存在。4004102错误请求物流单号不存在。请先使用「Create接口」将单号添加至系统。4004103错误请求您已超出 API 调用的创建数量。每次创建的最大数量为 40 个快递单号。4004110错误请求物流单号(tracking_number) 不符合规则。4004111错误请求物流单号(tracking_number)为必填字段。4004112错误请求查询ID无效。4004113错误请求不允许重新查询。您只能重新查询过期的物流单号。4004120错误请求物流商简码(courier_code)的值无效。4004121错误请求无法识别物流商。4004122错误请求特殊物流商字段缺失或填写不符合规范。4004130错误请求请求参数的格式无效。4004160错误请求空运单号(awb_number)是必需的或有效的格式。4004161错误请求此空运航空不支持查询。4004165错误请求查询失败：未创建空运单号。4004166错误请求删除未创建的空运单号失败。4004167错误请求空运单号已存在，无需再次创建。4004190错误请求当前查询额度不足。401401未经授权身份验证失败或没有权限。请检查并确保您的 API 密钥正确无误。403403禁止禁止访问。请求被拒绝或不允许访问。404404未找到页面不存在。请检查并确保您的链接正确无误。429429太多请求超出 API 请求限制，请稍后重试。请查看 API 文档以了解此 API 的限制。500511服务器错误服务器错误。请联系我们：service@51Tracking.org。500512服务器错误服务器错误。请联系我们：service@51Tracking.org。500513服务器错误服务器错误。请联系我们：service@51Tracking.org。


Strawberry GraphQLPython GraphQL library based on dataclassesInstallation ( Quick Start )The quick start method provides a server and CLI to get going quickly. Install
with:pipinstall"strawberry-graphql[debug-server]"Getting StartedCreate a file calledapp.pywith the following code:importstrawberry@strawberry.typeclassUser:name:strage:int@strawberry.typeclassQuery:@strawberry.fielddefuser(self)->User:returnUser(name="Patrick",age=100)schema=strawberry.Schema(query=Query)This will create a GraphQL schema defining aUsertype and a single query
fielduserthat will return a hardcoded user.To run the debug server run the following command:strawberryserverappOpen the debug server by clicking on the following link:http://0.0.0.0:8000/graphqlThis will open GraphiQL where you can test the API.Type-checkingStrawberry comes with amypyplugin that enables statically type-checking your
GraphQL schema. To enable it, add the following lines to yourmypy.iniconfiguration:[mypy]plugins=strawberry.ext.mypy_pluginDjango IntegrationA Django view is provided for adding a GraphQL endpoint to your application.Add the app to yourINSTALLED_APPS.INSTALLED_APPS=[...,# your other apps"strawberry.django",]Add the view to yoururls.pyfile.fromstrawberry.django.viewsimportGraphQLViewfrom.schemaimportschemaurlpatterns=[...,path("graphql",GraphQLView.as_view(schema=schema)),]WebSocketsTo support graphql Subscriptions over WebSockets you need to provide a WebSocket
enabled server. The debug server can be made to support WebSockets with these
commands:pipinstall'strawberry-graphql[debug-server]'pipinstall'uvicorn[standard]'ExamplesVarious examples on how to use StrawberryFull stack example using Starlette, SQLAlchemy, Typescript codegen and Next.jsQuart + Strawberry tutorialContributingWe usepoetryto manage dependencies, to
get started follow these steps:gitclonehttps://github.com/strawberry-graphql/strawberrycdstrawberry
poetryinstall
poetryrunpytestThis will install all the dependencies (including dev ones) and run the tests.Pre commitWe have a configuration forpre-commit, to add the hook run the
following command:pre-commitinstallLinksProject homepage:https://strawberry.rocksRepository:https://github.com/strawberry-graphql/strawberryIssue tracker:https://github.com/strawberry-graphql/strawberry/issuesIn case of sensitive bugs like security vulnerabilities, please contactpatrick.arminio@gmail.comdirectly instead of using the issue tracker. We
value your effort to improve the security and privacy of this project!LicensingThe code in this project is licensed under MIT license. SeeLICENSEfor more information.


PychessA chess library written in Python.Pychess-Description-Installation-Usage-Game-Board-Move-Piece-Player-Square-Contributing-LicenseInstallation```bash
# Install from PyPI
pip install 56kyle-pychess

# Install from poetry
poetry add 56kyle-pychess
```DescriptionThe main purpose of this library is to try and practice constantly improving the quality of a codebase instead of allowing complexity to grow with time.I was mainly inspired by the books "Clean Code" and "Clean Coder" both written by Robert C. Martin. Most of the code in this library is written with the principles of clean code in mind.General Design DecisionsThe Board class is immutable. This means that every time a move is made, a new board is created. This is to prevent the board from being in an invalid state.Moves and most geometry related classes are described in terms of Points and LinesAlmost all iterables are sets to allow for hash comparisons of various frozen dataclass based objectsSimplificationsThe board may not be infiniteThe board must be a rectangleFeaturesAPIGameBoardMovePiecePlayerSquareEngineUCIGUIDocumentationUsageGameTODOBoardTODOMoveTODOPieceTODOPlayerTODOSquareTODO


WMA Window Manager for Tkinter On Windows 10Video TestWM/WikiHow to installpipinstall574dHow to testfromWMimportTK...if__name__=='__main__':Tk=TK()Tk.mainloop()I developed a code pattern based on the Sword Art Online (SAO) for TkinterFor Example:System Call GenerateButtonElement<Object-ID>Discharge!Dischargeis only a SAO reference../WM/core.pyclassCall(TkData,INHERIT):# Object-IDs are here....szTitle,szWindowClass='WM','WM'...classSystem(Call):# class TK(System, Call.Tk):Call=Call# System.Call..../WM/views.pyclassElement(E.Widget,E.PhotoImage,System,Call):# type: ignoredef__new__(cls,name:str='',*_:E.Any,generic:bool=False,**__:E.Any):E=GENERATE.__dict__[name](*_,**__)ifgeneric:delE._[-1]returnEclassGenerate(System,Call):def__init__(self):super(System,self).__init__()# info when called...# with Element ConstructorElement('Frame',self.TK).grid(0,0,'nsew',padx=1,pady=1)({0:(1,1),1:(0,1),2:(1,0)}).grid_remove()self.W['F'][-1].grid()# another way to do the samemy_frame=ttk.Frame(self.TK)my_frame.grid(row=0,column=0,sticky='nsew',padx=1,pady=1)my_frame.grid_rowconfigure(0,weight=1)my_frame.grid_rowconfigure(2,weight=1)my_frame.grid_columnconfigure(0,weight=1)my_frame.grid_columnconfigure(1,weight=1)my_frame.grid_remove()my_frame.grid()


📦 setup.py (for humans)This repo exists to providean example setup.pyfile, that can be used
to bootstrap your next Python project. It includes some advanced
patterns and best practices forsetup.py, as well as some
commented–out nice–to–haves.For example, thissetup.pyprovides a$ python setup.py uploadcommand, which creates auniversal wheel(andsdist) and uploads
your package toPyPiusingTwine, without the need for an annoyingsetup.cfgfile. It also creates/uploads a new git tag, automatically.In short,setup.pyfiles can be daunting to approach, when first
starting out — even Guido has been heard saying, "everyone cargo cults
thems". It's true — so, I want this repo to be the best place to
copy–paste from :)Check out the example!Installationcdyour_project# Download the setup.py file:#  download with wgetwgethttps://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.py-Osetup.py#  download with curlcurl-Ohttps://raw.githubusercontent.com/navdeep-G/setup.py/master/setup.pyTo DoTests via$ setup.py test(if it's concise).Pull requests are encouraged!More ResourcesWhat is setup.py?on Stack OverflowOfficial Python Packaging User GuideThe Hitchhiker's Guide to PackagingCookiecutter template for a Python packageLicenseThis is free and unencumbered software released into the public domain.Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any means.