Saravanan666/pypi-org huggingface dataset:
Package: pyETC
Exposure Time Calculator for optical/NIR telescopeFree software: MIT licenseDocumentation:https://pyETC.readthedocs.io.Release statusDevelopment statusFeaturesExposure Time Calculator configurable for any telescope in the optical/NIR domain.Telescope configuration and response defined by transmission curve of each optical element (mirrors, lenses, coating, filters, dichroics) and camera quntum efficiency. Also possible to provide only a global transmission curve.Object can be a givn magnitude (AB or Vega), a file containing a spectrum or a light curve. Can also be a simulated GRB light curve through the connection withpyGRBaglow.Output is provided through a python dictionary.Have a look to the notebook(s) to see how it works.InstallationSee the doc:https://pyETC.readthedocs.io.CreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.
Package: pyetcd
pyetcdPython library to work with Etcd.Free software: Apache Software License 2.0Documentation:https://pyetcd.readthedocs.io.FeaturesBasic key operationsCreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.0 (2016-09-17)First release on PyPI.
Package: pyetcdlock
#pyetcdlock基于etcd的分布式锁，简单说就是利用etcd.test_and_set函数来判断lock key是否被占用，存在那就说明有人占用。在创建key的时候加入了ttl，防止因为进程异常退出而没有释放锁。更新日志:加入watch机制，更快的解决了etcd客户端因为异常退出后，key需要等待ttl过期的问题。简单说，模拟了zookeeper那种临时节点的概念。**曾经写过关于分布式互斥锁的文章:**zookeeper:[http://xiaorui.cc/2015/04/09/python-zookeeper%E8%A7%A3%E5%86%B3redis%E5%81%9A%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%B8%A6%E6%9D%A5%E7%9A%84%E5%9D%91/](http://xiaorui.cc/2015/04/09/python-zookeeper%E8%A7%A3%E5%86%B3redis%E5%81%9A%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%B8%A6%E6%9D%A5%E7%9A%84%E5%9D%91/)redis:[http://xiaorui.cc/2014/12/19/python%E4%BD%BF%E7%94%A8redis%E5%AE%9E%E7%8E%B0%E5%8D%8F%E5%90%8C%E6%8E%A7%E5%88%B6%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81/](http://xiaorui.cc/2014/12/19/python%E4%BD%BF%E7%94%A8redis%E5%AE%9E%E7%8E%B0%E5%8D%8F%E5%90%8C%E6%8E%A7%E5%88%B6%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81/)### 安装方法```git clone https://github.com/rfyiamcool/pyetcdlock.gitcd pyetcdlockpython setup.py```pypi的安装方式 (话说，pypi有些问题，你在pypi search搜东西的时候，不显示详细信息)```pip instlal pyetcdlock```模块说明:ttl     : expire过期时间,这样可以指定锁定的时间renew   : 如果你的ttl时间将要过期了，那么可以使用renew(),再加点锁定的ttl时间force_acquire : 强制获取锁### 创建连接```import etcdfrom pyetcdnetlock import Lockclient = client = etcd.Client(host='127.0.0.1')lock = Lock(client, 'path/to/my/key', ttl=30, renewSecondsPrior=5)```###  使用方法```if lock.acquire(timeout=20):# some worklock.renew()# some other worklock.release()else# failed to acquire the lock in 20 secondspass```OR```with lock as l:#如果时间不够，可以用renew()参数，加点时间l.renew()# some other work```
Package: py-eth
# py-eth[![Join the chat athttps://gitter.im/ethereum/py-eth](https://badges.gitter.im/ethereum/py-eth.svg)](https://gitter.im/ethereum/py-eth?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Build Status](https://circleci.com/gh/ethereum/py-eth.svg?style=shield)](https://circleci.com/gh/ethereum/py-eth)
[![PyPI version](https://badge.fury.io/py/py-eth.svg)](https://badge.fury.io/py/py-eth)
[![Python versions](https://img.shields.io/pypi/pyversions/py-eth.svg)](https://pypi.python.org/pypi/py-eth)
[![Docs build](https://readthedocs.org/projects/py-eth/badge/?version=latest)](http://py-eth.readthedocs.io/en/latest/?badge=latest)Read more in the [documentation on ReadTheDocs](https://py-eth.readthedocs.io/). [View the change log](https://py-eth.readthedocs.io/en/latest/releases.html).## Quickstart`sh pip installpy-eth`## Developer SetupIf you would like to hack on py-eth, please check out the
[Ethereum Development Tactical Manual](https://github.com/pipermerriam/ethereum-dev-tactical-manual)
for information on how we do:TestingPull RequestsCode StyleDocumentation### Development Environment SetupYou can set up your dev environment with:`sh git clonegit@github.com:ethereum/py-eth.gitcdpy-ethvirtualenv-ppython3 venv . venv/bin/activate pip install-e.[dev] `### Testing SetupDuring development, you might like to have tests run on every file save.Show flake8 errors on file change:`sh # Test flake8when-changed-v-s-r-1eth/ tests/-c"clear; flake8 eth tests && echo 'flake8 success' || echo 'error'" `Run multi-process tests in one command, but without color:`sh # in the project root: pytest--numprocesses=4--looponfail--maxfail=1# the same thing, succinctly: pytest-n4-f--maxfail=1`Run in one thread, with color and desktop notifications:`sh cd venv ptw--onfail"notify-send-t5000 'Test failure⚠⚠⚠⚠⚠''python 3 test onpy-ethfailed'"../tests../eth`### Release setupFor Debian-like systems:` apt install pandoc `To release a new version:`sh make releasebump=$$VERSION_PART_TO_BUMP$$`#### How to bumpversionThe version format for this repo is{major}.{minor}.{patch}for stable, and{major}.{minor}.{patch}-{stage}.{devnum}for unstable (stagecan be alpha or beta).To issue the next version in line, specify which part to bump,
likemake release bump=minorormake release bump=devnum. This is typically done from the
master branch, except when releasing a beta (in which case the beta is released from master,
and the previous stable branch is released from said branch). To include changes made with each
release, update “docs/releases.rst” with the changes, and apply commit directly to master
before release.If you are in a beta version,make release bump=stagewill switch to a stable.To issue an unstable version when the current version is stable, specify the
new version explicitly, likemake release bump=”–new-version 4.0.0-alpha.1 devnum”
Package: pyetherbalance
PyEtherBalancepyetherbalanceis a python module for getting Ethereum and er20 token balances. There are other modules like web3py out there, however the goal of this module is to be super light weight and not depend on too many other modules.InstallationSimply clone the project and runpython setup.py install- or install via pippip install pyetherbalance.This module only depends on the 'requests' library in python to send post requestsBasic Usage:importpyetherbalance# Sign up for https://infura.io/, and get the url to an ethereum nodeinfura_url='https://mainnet.infura.543254324532543254345'ethereum_address='0xeb9f035dd1211af75976427d68d2d6dc549c458e'# Create an pyetherbalance object , pass the infura_urlethbalance=pyetherbalance.PyEtherBalance(infura_url)# get ether balancebalance_eth=ethbalance.get_eth_balance(ethereum_address)print(balance_eth)# get token balancebalance_omg=ethbalance.get_token_balance('OMG',ethereum_address)print(balance_omg)Advanced Usage:Adding tokensCurrently the module useshttps://github.com/ethereum-lists/tokensfor a list of tokens. If you want to add your own custom token, you can follow the steps below. This will also work for overwriting internal token contract addresses.importpyetherbalance# Sign up for https://infura.io/, and get the url to an ethereum nodeinfura_url='https://mainnet.infura.543254324532543254345'ethereum_address='0xeb9f035dd1211af75976427d68d2d6dc549c458e'# Create an pyetherbalance object , pass the infura_urlethbalance=pyetherbalance.PyEtherBalance(infura_url)# New token symboltoken="OMG"# Token details. The fields below are all requireddetails={'symbol':'OMG','address':'0xd26114cd6EE289AccF82350c8d8487fedB8A0C07','decimals':18,'name':'OmiseGO'}# Add tokenerc20tokens=ethbalance.add_token(token,details)# print list of all internal tokensprint(erc20tokens['OMG'])Getting all tokens:importpyetherbalance# Sign up for https://infura.io/, and get the url to an ethereum nodeinfura_url='https://mainnet.infura.543254324532543254345'# Create an pyetherbalance object , pass the infura_urlethbalance=pyetherbalance.PyEtherBalance(infura_url)# Get a dictionary with all tokens and detailserc20tokens=ethbalance.get_erc20_tokens()print(erc20tokens)Testing:Test You can test on either Ropsten, Kovan, Rinkeby or local testnets by providing the url of your corresponding ethereum node, while initializing pyetherbalance object.CopyrightMTI License - See LICENSE for details.ChangelogVersion 0.0.1NewFirst Working Version
Package: pyetheroll
pyetherollPython library to Etheroll smart contractUsageSimply set bet size, chances and wallet settings before rolling:frompyetheroll.etherollimportEtherolletheroll=Etheroll()bet_size_ether=0.1bet_size_wei=int(bet_size_ether*1e18)chances=50wallet_path='wallet.json'wallet_password='password'transaction=etheroll.player_roll_dice(bet_size_wei,chances,wallet_path,wallet_password)It's also possible to set different contract address and chain ID:frompyetheroll.constantsimportChainIDfrompyetheroll.etherollimportEtherollchain_id=ChainID.ROPSTENcontract_address='0xe12c6dEb59f37011d2D9FdeC77A6f1A8f3B8B1e8'etheroll=Etheroll(chain_id,contract_address)Find out more indocs/Examples.md.API keysBoth Etherscan and Infura require API keys which are retrieved from the following environment variables:ETHERSCAN_API_KEY(consumed by pyetheroll directly)WEB3_INFURA_PROJECT_ID(consumed byweb3.py)InstallLatest stable release:pipinstallpyetherollDevelopment branch:pipinstall--process-dependency-links\https://github.com/AndreMiras/pyetheroll/archive/develop.zip
Package: pyetherpadlite
API versionThe supported API version is1.2.15This python api enables easy interaction with the Etherpad API.  Etherpad is a collaborative editor provided by the Etherpad Foundation.http://etherpad.org1 Installationpipinstallpyetherpadlite2 PreparationIf you are using a self hosted Etherpad server, you will need to specify an API Key after installation before using the API.  (Seehttps://github.com/ether/etherpad-litefor installation details).Your secret api key should be placed in the base installation (etherpad-client folder) in a text file named APIKEY.txt.  Many linux text editors automatically create an extra newline character at the end of the file, so I recommend simply executing the following command to set your api key without a newline character:echo-n"myapikey">APIKEY.txtOnce you have created the APIKEY.txt file, you will need to edit the py_etherpad.py wrapper to set your API key. Edit the 'apiKey' variable and set it to the same key as defined in your APIKEY.txt file.3 Basic usagefrompy_etherpadimportEtherpadLiteClientmyPad=EtherpadLiteClient('EtherpadFTW','http://beta.etherpad.org/api')# Change the text of the etherpadmyPad.setText('testPad','New text from the python wrapper!')4 More detailsSee thesrc/py_etherpad/__init__.pyfile for further details on the methods and parameters available for the API.
Nearly all calls from theofficial APIwork as in the official documentation described. (expect sendText, appendText and setHTML for Text > 8KB)5 Test coverageActually im writing the tests for each topic.Already finished:GroupsPadsNearly finished:Author6 LicenseApache License7 CreditThis python API-Wrapper is a Fork fromdevjonesand is inspired byTomNomNom's php client
Package: pyetherscan
pyetherscanAn unofficial wrapper for theEtherscanAPI.InstallationWe recommend you install this library in a newvirtual environment.To install, create a newetherscan accountand
make note of your API key. Then install the library by running:pipinstallpyetherscanAfter installation, there are two main ways to set your API key. The first
is by creating a configuration file named.pyetherscan.iniand
saving it in your home directory. The format for this file is as follows:[Credentials]
ETHERSCAN_API_KEY: YourApiKeyTokenThe second is by setting the environment variableETHERSCAN_API_KEY.If you do not use either option, the package will connect to the ropsten test
chain via the Etherscan API by default.UsageThere are two main ways to use the library. The first is via theClientobject to interact directly with theEtherscan API.In[1]:frompyetherscanimportClientIn[2]:client=Client()In[3]:address='0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae'In[4]:address_balance=client.get_single_balance(address)In[5]:address_balance.response_status_codeOut[5]:200In[6]:address_balance.messageOut[6]:'OK'In[7]:address_balance.balanceOut[7]:748997604382925139479303The second is to usepyetherscanobjects which fully abstract the API. These
objects can be found in thepyetherscan.ethereummodule and include:TransactionAddressBlockTokenFor example:In[1]:frompyetherscanimportAddressIn[2]:address='0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae'In[3]:ethereum_address=Address(address)In[4]:ethereum_address.balanceOut[4]:748997604382925139479303.0In[4]:fortxninethereum_address.transactions:...:print(txn.value)ContributingFork this repository, create a branch and issue a PR.
Package: py-etherscan-client
Etherscan REST APIwrapperEtherscan REST API Doc:https://docs.etherscan.io/Installpipinstallpy-etherscan-clientUsagefrometherscanimportEtherscanes=Etherscan(key="<your-key-here>")es.get_gas_oracle()Testingvirtualenvvenvsource./venv/bin/activate
pipinstall-rdev_requirements.txt
deactivatesource./venv/bin/activate
pytest
Package: pyEthioJobs
AsynchronousethiojobsScraper written with python3ExamplesWhat is this?Asynchronous python3 Scrapper for ethiojobs.netInstallationpip3 install -U git+https://github.com/wizkiye/pyethiojobs.gitExample UsagefrompyethiojobsimportEthioJobsfrompyethiojobs.typesimportEmploymentTypeethiojobs=EthioJobs()#Searching for jobsasyncdefmain():results=awaitethiojobs.search("designer",limit=10,employment_type=EmploymentType.FULL_TIME)# this will return list of jobsforresultinresults:print(result.title)print(result.link)# Getting list of categoriesasyncdefmain():categories=awaitethiojobs.get_categories()forcategoryincategories:print(category.name)print(category.link)awaitcategory.get_jobs()# this will return list of jobs in the category# Getting list of jobs in a categoryasyncdefmain():jobs=awaitethiojobs.get_category("category_link or Category Object")forjobinjobs:print(job.title)print(job.link)# Getting the latest jobsasyncdefmain():jobs=awaitethiojobs.get_latest_jobs()forjobinjobs:print(job.title)print(job.link)# Getting Government jobsasyncdefmain():jobs=awaitethiojobs.get_gov_jobs()# this will return list of GovJobforjobinjobs:print(job.company)print(job.link)if__name__=="__main__":importasyncioloop=asyncio.get_event_loop()loop.run_until_complete(main())Using DecoratorsfrompyethiojobsimportEthioJobs,filtersfrompyethiojobs.typesimportJobethiojobs=EthioJobs()@ethiojobs.on_new_jobs()asyncdefnew_job_handler(job:Job):print(job.__dict__)# this is not tested yet :D@ethiojobs.on_new_jobs(filters.valid_through(20)&filters.work_place("Addis Ababa")&~filters.hiring_organization("Ethio Telecom"))asyncdefnew_filtered_job_handler(job:Job):print(job.__dict__)if__name__=='__main__':ethiojobs.run(poll_interval=30)ContributingIf you want to contribute to this project, please read theCONTRIBUTING.mdfile.LicenseThis project is licensed under the MIT License - see theLICENSEfile for detailsAcknowledgmentsethiojobsfor providing the data
Package: pyethnicity
pyethnicity:What is it?pyethnicityis a Python package to predict race from name and location. To the best of the author's knowledge, it outperforms all existing open-source models. It does this by training a Bidirectional LSTM on the largest, most comprehensive dataset of name and self-reported race thus far. It uses voter registration data from all 50 states. Additionally, it incorporates location features and improved versions of Bayesian Improved Surname Geocoding and Bayesian Improved Firstname Surname Geocoding to form an ensemble model that achieves up to 36.8% higher F1 scores than the next-best performing model.pyethnicityrethnicityethnicolrPlease see the correpsonding paper"Can We Trust Race Prediction?"for more details.Usage:Please seehttps://pyethnicity.readthedocs.io/en/latest/for full documentation.InstallingThe easiest way is to installpyethnicityis from PyPI using pip:pipinstallpyethnicityRunningPyethnicity exposes several functions. It supports block group, tract, and zip code level features. Each function takes in a scalar or array-like of inputs and returns a pandas DataFrame of the input and the predictions. Note that pyethnicity expects the census tract to be in the format of 2-digit state FIPS, 3-digit county FIPS, and 6-digit tract.importpyethnicityzcta=27106tract=72153750502first_name="cangyuan"last_name="luo"pyethnicity.bisg(last_name,zcta,geo_type="zcta")pyethnicity.bifsg(first_name,last_name,tract,geo_type="tract")pyethnicity.predict_race_fl(first_name,last_name)pyethnicity.predict_race_flg(first_name,last_name,tract,geo_type="tract")pyethnicity.predict_race(first_name,last_name,zcta,geo_type="zcta")TODO:Following the CFPB, when a compound name doesn't match, try to match on both parts of the name.Re-train model to support Native American and Multiracial.This package is still in active development. Please report any issues!
Package: py-eth-pairing
How to Installpip install py_eth_pairingHow to Build from SourceInstallCargofor Rustcurl https://sh.rustup.rs -sSf | shInstall Maturinpip install MaturinCompile itmaturin develop --releaseHow to UsePlease checktest.pyas an examplefrompy_eth_pairingimportcurve_add,curve_mul,pairing2,curve_negatefrompy_ecc.bn128importG1,G2curve_add(G1,G1)sk=100g1_pk=curve_mul(G1,sk)actual=pairing2(curve_negate(G1),G2,G1,G2)PerformanceThe unit of time is second.curve_add
6.985664367675781e-05
curev_mul
0.00014019012451171875
pairing2
0.0034821033477783203
Package: py-eth-sig-utils
Python Ethereum Signing UtilsType Data HashesThis utils contain methods to generate hashes of typed data based onEIP-712.Setupvirtualenv env -p python3pip install -r requirements.txtpython -m unittestDeployLibrary is automatically deployed if a tag is created.Manual deployment can be peformed with:pythonsetup.pysdistbdist_wheel
twineuploaddist/*
Package: pyethswarm
ETH Swarm Python SDK!! This project is still under development !!Usagefrompyethswarmimportdebug_api,api# debug api finishdebug_client=debug_api.Client()print(debug_client.get_balances())print(debug_client.get_balances('bbcbbac81f89966a90118584a3ec2f75ee33661f02cf1fa6c3e277767be20c5a'))print('列出所有未兑现的支票')print(debug_client.list_all_uncashed())print('兑现所有支票，金额>1000')print(debug_client.cashout())# api todoapi_client=api.Client()Book Of Swarm
Package: pyeti-python3
pyeti-python3Pyeti-Python (pyeti) is the bundle uses to interface with the YETI API. This is the new package that can be installed directly with pip.
Pyeti-python allows you to extract data from YETI such as specific observables (malware, IP, domains...). It can be used to plug in your own tool and enrich your Threat Intelligence feed with Yeti.Getting StartedTo install it you can clone the repo and run the following command:$ python3 setup.py installYou can also install it with pip:$ pip3 install pyeti-python3Once installed the first thing to do is to get your API key from the Yeti interface.Then you can configure your script with the following information to test the connection:server="<IPofYETI>"key="<APIKEY>"tag="<NameoftheObservable>"# example: 'lokibot'api=pyeti.YetiApi("http://%s:5000/api/"%server,api_key=key)request=api.observable_search(tags=tag,count=50)TestingYou can run tests from the root directory by running:$ pip3 install nose
$ python3 setup.py testNote that most tests require a full running install of Yeti on localhost:5000Use casesFirst thing is to import the library and instantiate a client.importpyeti,json# json is only used for pretty printing in the examples belowapi=pyetix.YetiApi("http://localhost:5000/api/")If you are using a self signed cert on your yeti instance you can set theverify_sslparameter toTrueto ignore warnings.
Otherwise all ssl connections are verified by default.importpyeti,json# json is only used for pretty printing in the examples belowapi=pyeti.YetiApi("http://localhost:5000/api/",verify_ssl=False)Adding observablesresults=api.observable_add("google.com",['google'])print(json.dumps(results,indent=4,sort_keys=True))Bulk addresults=api.observable_bulk_add(["google.com","bing.com","yahoo.com"])print(len(results))3print(json.dumps(results[1],indent=4,sort_keys=True))Get a single observableresults=api.observable_add("google.com")print(results['id'])info=api.observable_details(results['id'])print(json.dumps(info,indent=4,sort_keys=True))Search for observablesapi.observable_add("search-domain.com")result=api.observable_search(value="search-dom[a-z]+",regex=True)print(json.dumps(result,indent=4,sort_keys=True))Add observablesresult=api.observable_file_add("/tmp/hello.txt",tags=['benign'])print(json.dumps(result,indent=4,sort_keys=True))# Get file contentsapi.observable_file_contents(objectid="594fff86bf365e6270f8914b")'Hello!\n'api.observable_file_contents(filehash="e134ced312b3511d88943d57ccd70c83")# you can also use any hash computed above'Hello!\n'LicenseThis project is licensed under the Apache License - see theLICENSE.mdfile for details
Package: pyetl-framework
# pyetl FrameworkA flask based framework for building and running ETL pipelines### UsagePyetl is meant as a framework to help with the extraction, transformation and loading of data between sources.To get started, create a new Python project and then `pip install pyetl-framework`.To run the app flask app frontend: `pyetl_flask`To run the worker process: `pyetl_worker`The following two environment vars are required:```export APP_SETTINGS='DevelopmentConfig' # name of the corresponding config class for this env.export APP_BASEDIR=$(pwd) # must point to directory containing your config file.```A config file is also required. See `config.py.example`.### ConceptsThe framework relies heavily on naming conventions and magically imports.#### PipeThis represents the flow of data from a source to a target. `pipe.start()` should do whatever is necessary determine and enqueue any and all `ETLJob`s that must execute in order for a run to be considered succesfull.#### ETLJobA base class defined in the framework. It has three methods: extract, transform, load.#### Transformer/Extractor/LoaderExtend this class with a class that has the same name as your pipe's class. The ETLJob will run `{Transformer|Extractor|Loader}.execute()` when executing.### Setup Local DevInstall python, virtualenv and deps. To get started go [here](https://realpython.com/blog/python/flask-by-example-part-1-project-setup).OnceThen: `pip install -r requirements.txt`### Pushing to Production/Staging on Heroku (Don't do this, ci should do this)This is an example of how a sample app would deploy. This shouldn't be here.git remote add heroku-staging git@heroku.com:pyscrape-staging.gitgit remote add heroku-production git@heroku.com:pyscrape-production.gitOr`make deploy`### ReleaseFirst, create a new pip package. This will bump the patch version and write it to `VERSION`.`make package`Then, to push to the package to the repository:`make release`
Package: pyetrade
pyetradePython E-Trade API WrapperCompletedv1 API
Authorization API - ALL
Accountslist accountsAuthorization API - ALL
Order API -List OrdersPlace Equity OrderCancel OrderMarket API -Look Up ProductoptionchainGet QuoteInstallpip install pyetrade
- or -
git clone https://github.com/jessecooper/pyetrade.git
cd pyetrade
sudo make init
sudo make installExample UsageTo create the OAuth tokens:importpyetradeconsumer_key="<CONSUMER_KEY>"consumer_secret="<SECRET_KEY>"oauth=pyetrade.ETradeOAuth(consumer_key,consumer_secret)print(oauth.get_request_token())# Use the printed URLverifier_code=input("Enter verification code: ")tokens=oauth.get_access_token(verifier_code)print(tokens)And then on the example code:importpyetradeconsumer_key="<CONSUMER_KEY>"consumer_secret="<SECRET_KEY>"tokens={'oauth_token':'<TOKEN FROM THE SCRIPT ABOVE>','oauth_token_secret':'<TOKEN FROM THE SCRIPT ABOVE>'}accounts=pyetrade.ETradeAccounts(consumer_key,consumer_secret,tokens['oauth_token'],tokens['oauth_token_secret'])print(accounts.list_accounts())DocumentationPyEtrade DocumentationContribute to pyetradeETrade API DocsFork pyetradeDevelopment Setup:make init
    make develorpip install -r requirements.txt
    pip install -r requirements_dev.txt
    pip install -e .Lint# Run Black
black pyetrade/
# Run Linter
pylint pyetrade/  #Lint score should be >=8Testmake test #Ensure test coverage is >80%Push Changes:
Push changes to a branch on your forked repoCreate pull request