Saravanan666/pypi-org huggingface dataset:
Package: ldraw-to-scad
ldraw-to-scadA tool to convert from an LDraw drawing to an Open SCAD CAD fileState: Alpha
Intent: Converting LDraw projects to Open SCAD to render, animate or use for other assemblies.UsageRequires python3, with no external python dependancies:ldraw2scad <ldraw file> <scad file>Besides this basic parameters several options are available to generate results either as self-contained OpenSCAD files or relying on an LDraw OpenSCAD library that can be generated with this tool as well. Invoke the tool with the --help option for more information.By default it requires the ldraw library in lib/ldraw relative to the working directory you run this from. Alternatively you can point the tool to a different location for the libray with the --lib option.
It also (naively) expects the ldraw library filenames to be lowercase.TestingInstall the test-requirements.txt file, then runpip install -e .and finallypytest ..Making animationsThis requires a bit of OpenSCAD knowledge.
First - ensure you have clearly separated the sections that will move relative to each other.
You can put them either in one single MPD file or put them in a couple of separate LDraw DAT files.You can then add the movement transformations. LDraw actually stores matrices that are relative to the parts origin. You will want to wrap these in simple transformations - like translate and rotate.OpenSCAD has a special variable $t - which is a time offset between 0 and 1.
You can multiple $t by a value to create movement. You can then enable animation in the window options, and specify a framerate, and the total number of steps in the animation.This will start OpenSCAD rendering in the preview window.
To start exporting the frames - tick the "Dump Pictures" box under the window.
Warning - "Dump Pictures" will dump the resolution the preview window is in, which may be a bit odd.You can then use FFMpeg or AVtools to stitch them into a video:avconv -framerate 20 -i frame%05d.png -c:v libx264 -r 30 out.mp4
Package: ldrb
Laplace-Dirichlet Rule-Based (LDRB) algorithm for assigning myocardial fiber orientationsA software for assigning myocardial fiber orientations based on the Laplace Dirichlet Ruled-Based algorithm.Bayer, J.D., Blake, R.C., Plank, G. and Trayanova, N.A., 2012.
A novel rule-based algorithm for assigning myocardial fiber orientation
to computational heart models. Annals of biomedical engineering, 40(10),
pp.2243-2254.(https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3518842/)# Generate an example geometry using https://github.com/ComputationalPhysiology/cardiac_geometriesimportcardiac_geometries# pip install cardiac-geometriesimportldrbgeo=cardiac_geometries.mesh.create_biv_ellipsoid(char_length=0.2)# Decide on the angles you want to useangles=dict(alpha_endo_lv=30,# Fiber angle on the LV endocardiumalpha_epi_lv=-30,# Fiber angle on the LV epicardiumbeta_endo_lv=0,# Sheet angle on the LV endocardiumbeta_epi_lv=0,# Sheet angle on the LV epicardiumalpha_endo_sept=60,# Fiber angle on the Septum endocardiumalpha_epi_sept=-60,# Fiber angle on the Septum epicardiumbeta_endo_sept=0,# Sheet angle on the Septum endocardiumbeta_epi_sept=0,# Sheet angle on the Septum epicardiumalpha_endo_rv=80,# Fiber angle on the RV endocardiumalpha_epi_rv=-80,# Fiber angle on the RV epicardiumbeta_endo_rv=0,# Sheet angle on the RV endocardiumbeta_epi_rv=0,# Sheet angle on the RV epicardium)# Convert markers to correct formatmarkers={"base":geo.markers["BASE"][0],"lv":geo.markers["ENDO_LV"][0],"rv":geo.markers["ENDO_RV"][0],"epi":geo.markers["EPI"][0],}# Choose space for the fiber fields# This is a string on the form {family}_{degree}fiber_space="P_2"# Compute the microstructurefiber,sheet,sheet_normal=ldrb.dolfin_ldrb(mesh=geo.mesh,fiber_space=fiber_space,ffun=geo.ffun,markers=markers,**angles)# Store files using a built in xdmf viewer that also works for functions# defined in quadrature spacesldrb.fiber_to_xdmf(fiber,"fiber")# And visualize it in ParaviewInstallationpipIn order to install the software you need to have
installedFEniCS(versions older than 2016
are not supported)The package can be installed with pip.python -m pip install ldrbor if you need the most recent version you can install the sourcepython -m pip install git+https://github.com/finsberg/ldrb.gitCondaldrbis also available oncondaconda install -c conda-forge ldrbDockerIf you don't already have FEniCS installed you can use one of the provideddocker images, e.gdocker pull ghcr.io/finsberg/ldrb:latestto pull the image and use the following command to start a container and sharing your current directorydocker run --rm -v $PWD:/home/shared -w /home/shared -it ghcr.io/finsberg/ldrb:latestDocumentationDocumentation is hosted athttp://finsberg.github.io/ldrbGetting startedCheck out thedemosLicenseldrbis licensed under the GNU LGPL, version 3 or (at your option) any later version.ldrbis Copyright (2011-2019) by the authors and Simula Research Laboratory.ContributorsHenrik Finsberg (henriknf@simula.no)
Package: ldsagrader
LDSA GraderApplication to grade LDSA notebooksFree software: MIT licenseDocumentation:https://ldsagrader.readthedocs.io.FeaturesTODOCreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2019-04-06)First release on PyPI.
Package: lds-merkle-proof-2019
lds-merkle-proof-2019-pyMerkleProof2019implementation in pythonInstallationpip install lds-merkle-proof-2019UsageEncodingfromlds_merkle_proof_2019.merkle_proof_2019importMerkleProof2019mp2019=MerkleProof2019()json_proof={"path":[{"right":"51b4e22ed024ec7f38dc68b0bf78c87eda525ab0896b75d2064bdb9fc60b2698"},{"right":"61c56cca660b2e616d0bd62775e728f50275ae44adf12d1bfb9b9c507a14766b"}],"merkleRoot":"3c9ee831b8705f2fbe09f8b3a92247eed88cdc90418c024924be668fdc92e781","targetHash":"c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20","anchors":["blink:btc:testnet:582733d7cef8035d87cecc9ebbe13b3a2f6cc52583fbcd2b9709f20a6b8b56b3"]}encoded_value=mp2019.encode(json_proof)print(encoded_value)# b'zmz7LKNSJbePX9eJWLTaNA3X69vbLSiaJWJPVpFWznKg19Aeug3PQHFrkySKFvvGJhECwPMn947tzUFYnVMxbS428oLi5tw2HLKP9szAArV3TbfDSKXddpfV6fPBde6XN8FDbri2wGtYrgyzDXEaGu6QzzUd1GDMTcZ7c9FVFTb8k5v6crug5aLt2Sevap1gE9DS7ZUpfRMv8TQHiktNnQBGgc74g8soERFuziTDWoPGTu3Xb6bAs431DJpGGKHDenmFjkQFUJnwQ9nFKKowYnf9h8Gp8gcQmE78aoWhtEG4qV6Jaik8HhPTQX3dD7MQrXzY8GAHh8tKWQfscyGWb6w4FMpok13jBpZWpaPTVR5fMXsa1garazbMRL7xssnwEJ2gzrCDrGkFXb3JyDGoXMffAYKHUetADrCd3sZKW9k5jC5d6bMA5zSwbyeZE9BjaD27mTrJXSzguAZ1pKsghFztG5u5h6jLgBGMp2aPFopvESSnCA'Decodingfromlds_merkle_proof_2019.merkle_proof_2019importMerkleProof2019mp2019=MerkleProof2019()encoded_value=b'zmz7LKNSJbePX9eJWLTaNA3X69vbLSiaJWJPVpFWznKg19Aeug3PQHFrkySKFvvGJhECwPMn947tzUFYnVMxbS428oLi5tw2HLKP9szAArV3TbfDSKXddpfV6fPBde6XN8FDbri2wGtYrgyzDXEaGu6QzzUd1GDMTcZ7c9FVFTb8k5v6crug5aLt2Sevap1gE9DS7ZUpfRMv8TQHiktNnQBGgc74g8soERFuziTDWoPGTu3Xb6bAs431DJpGGKHDenmFjkQFUJnwQ9nFKKowYnf9h8Gp8gcQmE78aoWhtEG4qV6Jaik8HhPTQX3dD7MQrXzY8GAHh8tKWQfscyGWb6w4FMpok13jBpZWpaPTVR5fMXsa1garazbMRL7xssnwEJ2gzrCDrGkFXb3JyDGoXMffAYKHUetADrCd3sZKW9k5jC5d6bMA5zSwbyeZE9BjaD27mTrJXSzguAZ1pKsghFztG5u5h6jLgBGMp2aPFopvESSnCA'decoded_json=mp2019.decode(encoded_value)print(decoded_json)# {'path': [{'right': '51b4e22ed024ec7f38dc68b0bf78c87eda525ab0896b75d2064bdb9fc60b2698'}, {'right': '61c56cca660b2e616d0bd62775e728f50275ae44adf12d1bfb9b9c507a14766b'}], 'merkleRoot': '3c9ee831b8705f2fbe09f8b3a92247eed88cdc90418c024924be668fdc92e781', 'targetHash': 'c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20', 'anchors': ['blink:btc:testnet:582733d7cef8035d87cecc9ebbe13b3a2f6cc52583fbcd2b9709f20a6b8b56b3']}DevelopmentRun tests./run_tests.shPublishing To PypiCreate an account forpypi&pypi testInstalltwine-pip install twineIncrement version in__init__.pyRemove current items in dist -rm -rf dist/*Build package -python setup.py installBuild sdist -python setup.py sdistRun pypi test upload -twine upload --repository-url https://test.pypi.org/legacy/ dist/*Upload to pypi -twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
Package: lds-merkle-proof-2019-bloxberg
lds-merkle-proof-2019-pyMerkleProof2019implementation in pythonInstallationpip install lds-merkle-proof-2019-bloxbergUsageEncodingfromlds_merkle_proof_2019.merkle_proof_2019importMerkleProof2019mp2019=MerkleProof2019()json_proof={"path":[{"right":"51b4e22ed024ec7f38dc68b0bf78c87eda525ab0896b75d2064bdb9fc60b2698"},{"right":"61c56cca660b2e616d0bd62775e728f50275ae44adf12d1bfb9b9c507a14766b"}],"merkleRoot":"3c9ee831b8705f2fbe09f8b3a92247eed88cdc90418c024924be668fdc92e781","targetHash":"c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20","anchors":["blink:btc:testnet:582733d7cef8035d87cecc9ebbe13b3a2f6cc52583fbcd2b9709f20a6b8b56b3"]}encoded_value=mp2019.encode(json_proof)print(encoded_value)# b'zmz7LKNSJbePX9eJWLTaNA3X69vbLSiaJWJPVpFWznKg19Aeug3PQHFrkySKFvvGJhECwPMn947tzUFYnVMxbS428oLi5tw2HLKP9szAArV3TbfDSKXddpfV6fPBde6XN8FDbri2wGtYrgyzDXEaGu6QzzUd1GDMTcZ7c9FVFTb8k5v6crug5aLt2Sevap1gE9DS7ZUpfRMv8TQHiktNnQBGgc74g8soERFuziTDWoPGTu3Xb6bAs431DJpGGKHDenmFjkQFUJnwQ9nFKKowYnf9h8Gp8gcQmE78aoWhtEG4qV6Jaik8HhPTQX3dD7MQrXzY8GAHh8tKWQfscyGWb6w4FMpok13jBpZWpaPTVR5fMXsa1garazbMRL7xssnwEJ2gzrCDrGkFXb3JyDGoXMffAYKHUetADrCd3sZKW9k5jC5d6bMA5zSwbyeZE9BjaD27mTrJXSzguAZ1pKsghFztG5u5h6jLgBGMp2aPFopvESSnCA'Decodingfromlds_merkle_proof_2019.merkle_proof_2019importMerkleProof2019mp2019=MerkleProof2019()encoded_value=b'zmz7LKNSJbePX9eJWLTaNA3X69vbLSiaJWJPVpFWznKg19Aeug3PQHFrkySKFvvGJhECwPMn947tzUFYnVMxbS428oLi5tw2HLKP9szAArV3TbfDSKXddpfV6fPBde6XN8FDbri2wGtYrgyzDXEaGu6QzzUd1GDMTcZ7c9FVFTb8k5v6crug5aLt2Sevap1gE9DS7ZUpfRMv8TQHiktNnQBGgc74g8soERFuziTDWoPGTu3Xb6bAs431DJpGGKHDenmFjkQFUJnwQ9nFKKowYnf9h8Gp8gcQmE78aoWhtEG4qV6Jaik8HhPTQX3dD7MQrXzY8GAHh8tKWQfscyGWb6w4FMpok13jBpZWpaPTVR5fMXsa1garazbMRL7xssnwEJ2gzrCDrGkFXb3JyDGoXMffAYKHUetADrCd3sZKW9k5jC5d6bMA5zSwbyeZE9BjaD27mTrJXSzguAZ1pKsghFztG5u5h6jLgBGMp2aPFopvESSnCA'decoded_json=mp2019.decode(encoded_value)print(decoded_json)# {'path': [{'right': '51b4e22ed024ec7f38dc68b0bf78c87eda525ab0896b75d2064bdb9fc60b2698'}, {'right': '61c56cca660b2e616d0bd62775e728f50275ae44adf12d1bfb9b9c507a14766b'}], 'merkleRoot': '3c9ee831b8705f2fbe09f8b3a92247eed88cdc90418c024924be668fdc92e781', 'targetHash': 'c65c6184e3d5a945ddb5437e93ea312411fd33aa1def22b0746d6ecd4aa30f20', 'anchors': ['blink:btc:testnet:582733d7cef8035d87cecc9ebbe13b3a2f6cc52583fbcd2b9709f20a6b8b56b3']}DevelopmentRun tests./run_tests.shPublishing To PypiCreate an account forpypi&pypi testInstalltwine-pip install twineIncrement version in__init__.pyRemove current items in dist -rm -rf dist/*Build package -python setup.py installBuild sdist -python setup.py sdistRun pypi test upload -twine upload --repository-url https://test.pypi.org/legacy/ dist/*Upload to pypi -twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
Package: ldsnotes
LDS NotesUnofficial Python API to interact with your annotations from churchofjesuschrist.org.
I reverse engineered a bit of the API to download content/user notes from churchofjesuschrist.org.
Currently can only download notes, working on uploading next.Free software: MIT licenseDocumentation:https://ldsnotes.readthedocs.io.RoadmapUpdate Content/Annotation classes to inherit from addict.Dict. Should make upload easier later.2-way sync.DoneMake tests (and setup CI with travis) using dummy account/notes.Handling HighlightsThe way churchofjesuschrist.org handles where highlights are is a bit difficult to reverse engineer. They save where your highlight is
by counting words - both from the start, and from the end. The difficult part is figuring out what they consider a “word”. For example,
a footnote/reference counts as a word,and a comma after a word with a footnote also counts as one. This makes things very case by case
to get things right. If you have a problem with a highlight being a few words off, please open an issue with your where your highlight is at.TL;DR Highlights are hard, open issue if yours are off.CreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2020-24-20)Wrote tests to check basic functionalityGot travis deployment encryption set upVarious small bug fixes found when making tests0.1.0 (2020-22-20)First release on PyPI.
Package: ldtk-intgrid-creator
Some explanation here soon...How to use itUseLDtkto create a new projectin LDtk, create a new Tiles layer, with a sprites image and draw how the sprites should look like (i.e. manually draw a rectangle, a cross, etc. with the right tiles)save the projectinstall this Python package (https://pypi.org/project/ldtk-intgrid-creator/)Run the script like this:Following this syntax:create_int_level PROJECT_FILE_PATH SOURCE_LEVEL_ID SOURCE_LAYER_ID OUTPUT_INT_GRID_LAYER_ID TILE_SIZE_PXExample:create_int_level ./examples/source.ldtk Level_0 Tiles IntGrid 16Load the project again in LDtkChose the layer you chose as output (i.e. IntGrid)Start drawing and see if it works as expectedBonus tip:If you want to enforce some tiles to be taken as "empty" reference, hover your mouse cursor over them and copy the ID from status bar in "Tile" tag, and write them separated by comma as a last argument for the script command. For instance: if the tile to represent empty tiles is "137", you should write it like this:create_int_level ./examples/source.ldtk Level_0 Tiles IntGrid 16 137Missingupdate auto-layers based on  after integer grid is updated (based on intGridCsv)better docs (specially about installation)better testing
Package: ldtp
Cross Platform GUI Automation tool Linux version is LDTP, Windows version is Cobra and Mac version is PyATOM.Linux GUI testing is known to work on GNOME / KDE (QT >= 4.8) / Java Swing / LibreOffice / Mozilla application on all major Linux distributionWindows GUI testing is known to work on application written in .NET / C++ / Java / QT on Windows XP SP3 / Vista SP2 / Windows 7 / Windows 8 development versionMac GUI testing is known to work on OS X Snow Leopard/Lion/Mountain Lion. Where ever ATOMac runs, LDTP should work on itThe GNU/Linux Desktop (GUI Application) Testing Project (GNU LDTP) aimed at producing high quality test automation framework and cutting-edge tools that can be used to test and improve the GNU/Linux or Solaris desktops. It uses the Accessibility libraries to discover through the application’s user interface.
Package: ldtp-recorder
Copyright 2012-2013 Friedrich Paetzke (f.paetzke@gmail.com)This program translates GUI Events to executable commands that fit the
Linux Desktop Testing Project (LDTP, http:/ldtp.freedesktop.org).Usage$ ./ldtp-recorder.py [gui]Requirementspython 2.7pyatspi2ldtpDevelopmentDebug:There is a LDTP_RECORDER_DEBUG environment variable.
See src/debug.py for more Information.For more information take a look athttp://www.vanneva.com/page/ldtp-recorder
Package: ldv
ldvLight Data VersioningLdv is a tool for version tracking big files on a remote storage and storing digest files together with code that uses the big files.
A digest file is a small file containing information about the file to version track. The information includes file size in bytes, timestamp of version, hexdigest (the version number), and local and remote filepaths.Ldv can be run from the command line or from code, using the APIs of the package.Ldv has no external dependencies on other programs, e.g. Git.Currently, only AWS is supported as remote storage.Getting startedInstallationThis will install the package to version track on AWS remote storage.pip install ldvUsage1. AuthenticationAuthenticate with remote storage provider.ldv auth aws -rn <region_name> [-pn <profile name>] [-ec]-rn is the region name where the bucket is located.-pn is the name of the profile specified in ~/.aws/config-ec Use credentials stored in environment variables. LDV_AWS_ACCESS_KEY_ID and LDV_AWS_SECRET_ACCESS_KEY must be set. Will not be used if profile is provided.You either use -pn or -ec, not both.Example:ldv auth aws -rn eu-west-1 -pn dev-profile2. InitializeInitialize the local base path you want to version track files under. Also specify the remote storage url.ldv init -p <path> -u <url> [-rta] [-du]-p specifies the local path that contains files to version track.-u is the remote storage url, e.g. s3://my_bucket/sub_folder.-rta is an optional flag will run version tracking of all files under the path.-du is an optional flag will prevent files from being uploaded to remote storage every time you version track them. Use this if you only want to create a digest files locally but not upload the files to remote storage.Example:ldv init -p local-data-folder -u s3://my_s3_bucket/sub_folderVersion track fileldv versioning track <file path> [-du]file path to version track. Can be absolute or relative path but must be under path provided when running 'init' command.-du is optional flag if you don't want to upload the file.Example:ldv versioning track local-data-folder/first_file.txtVersion track all filesVersion track all files under path specified in the 'init' command.ldv versioning track-all [-du]-du is optional flag if you don't want to upload the files.Download fileDownload file from remote storage to local storage.ldv versioning download <file path to digest file> [-v <version>]-v is the optional version. If not provided, the version in the .digest file will be used.Download all filesDownload all files under folder specified in 'init' command.ldv versioning download-allList versions of fileldv versioning list-versions <path to digest file>Example:ldv versioning list-versions local-data-folder/first_file.txt.digestContactMartin Norin,ldv@martinnorin.se
Package: le
Le is a silly extensible chatbot. This package is designed to load plugins in the entry point
groupsle.parsers,le.handlersandle.handlers.chat.For more examples on how to write new plugins you can look at the ones I wrote:lecluvindexlehellolechatlemasterYou can install any of these packages together and the runlebotto start your bot:lebot <telegram_token>The usage of the command is:usage: lebot [-h] [-d] telegram_token

positional arguments:
  telegram_token

optional arguments:
  -h, --help      show this help message and exit
  -d, --debug
Package: lea
Lea is a Python module aiming at working with discrete probability distributions in an intuitive way.It allows you modeling a broad range of random phenomena: gambling, weather, finance, etc. More generally, Lea may be used for any finite set of discrete values having known probability: numbers, booleans, date/times, symbols,… Each probability distribution is modeled as a plain object, which can be named, displayed, queried or processed to produce new probability distributions.Lea also provides advanced functions and Probabilistic Programming (PP) features; these include conditional probabilities, joint probability distributions, Bayesian networks, Markov chains and symbolic computation.All probability calculations in Lea are performed by a new exact algorithm, the Statues algorithm, which is based on variable binding and recursive generators. For problems intractable through exact methods, Lea provides on-demand approximate algorithms, namely MC rejection sampling and likelihood weighting.Beside the above-cited functions, Lea provides some machine learning functions, including Maximum-Likelihood and Expectation-Maximization algorithms.Lea can be used for AI, education (probability theory & PP), generation of random samples, etc.Lea 4 requires Python 3.8+. For earlier Python versions (2.6+), Lea 3 can be used.Please visit Lea project’s wiki page for a comprehensive documentation.
Package: leab
le ABis a Python library for AB testing analysis.⚡️ Quick startBefore launching your AB test, you can compute the neededsample sizeper variation :>>>fromleabimportbefore>>>ab_test=before.leSample(conversion_rate=20,...min_detectable_effect=2)>>>ab_test.get_size_per_variation()6347After reaching the needed sample size, you cancompare meansobtained from A VS B :>>>fromleabimportafter>>>fromleabimportleDataset>>>data=leDataset.SampleLeAverage()>>>ab_test=after.leAverage(data.A,data.B)>>>teab_testst.get_verdict()'Sample A mean is greater'🛠 Installation:snake: You need to installPython 3.6or above.Installation can be done by usingpip.There arewheels availableforLinux,MacOS, andWindows.pipinstallleabYou can also install the latest development version as so:pipinstallgit+https://github.com/tlentali/leab# Or, through SSH:pipinstallgit+ssh://git@github.com/tlentali/leab.git🥄 Philosophy"Life is a sum of all our choices."Albert CamusGet ready to take a decision !AB testing has never been more popular, especially on Internet based companies.Even if each test is unique, some questions seem to be asked again and again :when is my test going to be statistically significant ?is A more successful than B ?does A generate more than B ?Strong statistical knowledge are required to handle it from start to end correctly.To answer those questions in a simple and robust way, we builtle AB.Lets Python do AB testing analysis !🔥 FeaturesHere are some benefits of usingLe AB:Sample size: How many subjects are needed for my AB test ?Test duration: How many days are needed for my AB test ?Rate of success: Does the rate of success differ across two groups ?Average value: Does the average value differ across two groups ?html auto-report: Generate a html report (example) for thesample sizepart.Next releasefeatures :html auto-report: Generate a html report for theafterpart.sequential sampling: How many conversions are needed for a sequential AB test ?🔗 Useful linksDocumentationAPI referenceUser guideIssue tracker🎬 MediaBetclic Data Bi-monthly may 2020 (dispo in may 2020)🙏 ThanksThis project takes its inspiration fromEvan Millergreat work, especially the following :Sample Size CalculatorChi-Squared Test2 Sample T-TestThank you so much Evan M. for your work, it saved our lives so many times !A big thanks toMax Halfordtoo, who inspired us in the structure of this project, particularly for docs and tests.Have a look atCreme-ml, it's just amazingly done !To finish, thanks to all of you who use or are going to use this lib, hope it helps !🖖 ContributingFeel free to contribute in any way you like, we're always open to new ideas and approaches. If you want to contribute to the code base please check out theCONTRIBUTING.mdfile. Also take a look at theissue trackerand see if anything takes your fancy.This project follows theall-contributorsspecification. Again, contributions of any kind are welcome!tlentali📆💻JLouedec📝RomainSa📝📜 Licensele ABis free and open-source software licensed under the3-clause BSD license.