diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:53:08 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 08:53:08 +0000 |
| commit | 5ed6aaa5dc42a604398f2c11b195dfbe2884f3b7 (patch) | |
| tree | fcc0228a8ed90ac727b3a990d09d647ce2cc8013 /python-ftx.spec | |
| parent | b468eda3751e4099bd5b57f8fb00dd58f0220f6f (diff) | |
automatic import of python-ftx
Diffstat (limited to 'python-ftx.spec')
| -rw-r--r-- | python-ftx.spec | 344 |
1 files changed, 344 insertions, 0 deletions
diff --git a/python-ftx.spec b/python-ftx.spec new file mode 100644 index 0000000..caf7bcc --- /dev/null +++ b/python-ftx.spec @@ -0,0 +1,344 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ftx +Version: 1.2.0 +Release: 1 +Summary: Unofficial python3 FTX exchange API 1.2.0 +License: MIT +URL: https://github.com/quan-digital/ftx/tree/v1.2 +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/94/b7/fb1b79cd1105eacdb93565594b746907a0a019416e68494b2466ee58d7e0/ftx-1.2.0.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-ciso8601 + +%description +# FTX Python client + +A Unofficial Python3 library to interact with [FTX's](https://ftx.com/) API. The library can be used to fetch market +data, make trades, place orders or create third-party clients. + +For more information, see [the FTX documentation.](https://docs.ftx.com/) + +## Installation + + $ pip install ftx + +## Quickstart + +This is an introduction on how to get started with FTX client. First, make sure the FTX library is installed. + +The next thing you need to do is import the library and get an instance of the client: + + import ftx + client = ftx.FtxClient() + +### Get ordedrbook + +Get the orderbook levels of bid/ask: + + >>> import ftx + >>> client = ftx.FtxClient() + >>> result = client.get_orderbook('BTC/USD', 1) + >>> result + {'asks': [[11861.0, 1.778]], 'bids': [[11860.5, 0.1]]} + + >>> result['asks'] + [[11861.0, 1.778]] + + >>> result['bids'] + [[11860.5, 0.1]] + +### Market's Instrument data + +The API supports fetching full data for one or multiple markets. + + >>> client.get_market('BTC/USD') + {'ask': 11849.0, 'baseCurrency': 'BTC', 'bid': 11848.5, 'change1h': 0.00025325004220834034, 'change24h': 0.008983693106825051, 'changeBod': 0.006925855109411514, 'enabled': True, 'last': 11849.0, 'minProvideSize': 0.0001, 'name': 'BTC/USD', 'postOnly': False, 'price': 11849.0, 'priceIncrement': 0.5, 'quoteCurrency': 'USD', 'quoteVolume24h': 9271567.5201, 'restricted': False, 'sizeIncrement': 0.0001, 'type': 'spot', 'underlying': None, 'volumeUsd24h': 9271567.5201} + +### Date ranges + +Any time-based parameters accept Python `datetime` objects. All timestamps returned from FTX are UTC. + + >>> client = ftx.FtxClient() + >>> client.get_trades('BTC/USD', 1, datetime.datetime(2020,8,20).timestamp()) + [{'id': 88953674, 'liquidation': False, 'price': 11861.0, 'side': 'sell', 'size': 0.0105, 'time': '2020-08-20T17:33:19.115690+00:00'}] + +### Authenticated endpoints + +Private endpoints require authentication. Clients authenticate with an API key. For more information, +see:[API keys](https://help.ftx.com/hc/en-us/articles/360044411911-FTX-Features-Overview#h_6a76d63d-e6cd-45db-87ab-5778af4e3b07) + +To get an authenticated client instance: + + >>> client = ftx.FtxClient(api_key=<YOUR API KEY>, api_secret=<YOUR API SECRET>) + +If you try to access a private endpoint with an unauthenticated client, an error is raised. Calls to private endpoints +work the same as regular ones: + + client.get_open_orders('BTC/USD') + +## Advanced usage + +### Placing orders + +An order can be placed through the `place_order()` function. See +[the API Documentation](https://docs.ftx.com/#place-order) for required and optional parameters. + + client.place_order('BTC/USD', 'sell', 12345.0, 10) + +### Modifying orders + +Orders can be modified by providing the original order ID. + + >>> client.place_order('BTC/USD', 'sell', 12345.0, 10) + {"createdAt": "2020-08-20T17:33:19.115690+00:00","filledSize": 0,"id": 9596912,"market": "BTC/USD"... + + >>> client.modify_order(9596912, 12500.0, 15).result() + +### Canceling orders + +An order can be canceled given the order ID: + + client.cancel_order(9596912).result() + + + + +%package -n python3-ftx +Summary: Unofficial python3 FTX exchange API 1.2.0 +Provides: python-ftx +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ftx +# FTX Python client + +A Unofficial Python3 library to interact with [FTX's](https://ftx.com/) API. The library can be used to fetch market +data, make trades, place orders or create third-party clients. + +For more information, see [the FTX documentation.](https://docs.ftx.com/) + +## Installation + + $ pip install ftx + +## Quickstart + +This is an introduction on how to get started with FTX client. First, make sure the FTX library is installed. + +The next thing you need to do is import the library and get an instance of the client: + + import ftx + client = ftx.FtxClient() + +### Get ordedrbook + +Get the orderbook levels of bid/ask: + + >>> import ftx + >>> client = ftx.FtxClient() + >>> result = client.get_orderbook('BTC/USD', 1) + >>> result + {'asks': [[11861.0, 1.778]], 'bids': [[11860.5, 0.1]]} + + >>> result['asks'] + [[11861.0, 1.778]] + + >>> result['bids'] + [[11860.5, 0.1]] + +### Market's Instrument data + +The API supports fetching full data for one or multiple markets. + + >>> client.get_market('BTC/USD') + {'ask': 11849.0, 'baseCurrency': 'BTC', 'bid': 11848.5, 'change1h': 0.00025325004220834034, 'change24h': 0.008983693106825051, 'changeBod': 0.006925855109411514, 'enabled': True, 'last': 11849.0, 'minProvideSize': 0.0001, 'name': 'BTC/USD', 'postOnly': False, 'price': 11849.0, 'priceIncrement': 0.5, 'quoteCurrency': 'USD', 'quoteVolume24h': 9271567.5201, 'restricted': False, 'sizeIncrement': 0.0001, 'type': 'spot', 'underlying': None, 'volumeUsd24h': 9271567.5201} + +### Date ranges + +Any time-based parameters accept Python `datetime` objects. All timestamps returned from FTX are UTC. + + >>> client = ftx.FtxClient() + >>> client.get_trades('BTC/USD', 1, datetime.datetime(2020,8,20).timestamp()) + [{'id': 88953674, 'liquidation': False, 'price': 11861.0, 'side': 'sell', 'size': 0.0105, 'time': '2020-08-20T17:33:19.115690+00:00'}] + +### Authenticated endpoints + +Private endpoints require authentication. Clients authenticate with an API key. For more information, +see:[API keys](https://help.ftx.com/hc/en-us/articles/360044411911-FTX-Features-Overview#h_6a76d63d-e6cd-45db-87ab-5778af4e3b07) + +To get an authenticated client instance: + + >>> client = ftx.FtxClient(api_key=<YOUR API KEY>, api_secret=<YOUR API SECRET>) + +If you try to access a private endpoint with an unauthenticated client, an error is raised. Calls to private endpoints +work the same as regular ones: + + client.get_open_orders('BTC/USD') + +## Advanced usage + +### Placing orders + +An order can be placed through the `place_order()` function. See +[the API Documentation](https://docs.ftx.com/#place-order) for required and optional parameters. + + client.place_order('BTC/USD', 'sell', 12345.0, 10) + +### Modifying orders + +Orders can be modified by providing the original order ID. + + >>> client.place_order('BTC/USD', 'sell', 12345.0, 10) + {"createdAt": "2020-08-20T17:33:19.115690+00:00","filledSize": 0,"id": 9596912,"market": "BTC/USD"... + + >>> client.modify_order(9596912, 12500.0, 15).result() + +### Canceling orders + +An order can be canceled given the order ID: + + client.cancel_order(9596912).result() + + + + +%package help +Summary: Development documents and examples for ftx +Provides: python3-ftx-doc +%description help +# FTX Python client + +A Unofficial Python3 library to interact with [FTX's](https://ftx.com/) API. The library can be used to fetch market +data, make trades, place orders or create third-party clients. + +For more information, see [the FTX documentation.](https://docs.ftx.com/) + +## Installation + + $ pip install ftx + +## Quickstart + +This is an introduction on how to get started with FTX client. First, make sure the FTX library is installed. + +The next thing you need to do is import the library and get an instance of the client: + + import ftx + client = ftx.FtxClient() + +### Get ordedrbook + +Get the orderbook levels of bid/ask: + + >>> import ftx + >>> client = ftx.FtxClient() + >>> result = client.get_orderbook('BTC/USD', 1) + >>> result + {'asks': [[11861.0, 1.778]], 'bids': [[11860.5, 0.1]]} + + >>> result['asks'] + [[11861.0, 1.778]] + + >>> result['bids'] + [[11860.5, 0.1]] + +### Market's Instrument data + +The API supports fetching full data for one or multiple markets. + + >>> client.get_market('BTC/USD') + {'ask': 11849.0, 'baseCurrency': 'BTC', 'bid': 11848.5, 'change1h': 0.00025325004220834034, 'change24h': 0.008983693106825051, 'changeBod': 0.006925855109411514, 'enabled': True, 'last': 11849.0, 'minProvideSize': 0.0001, 'name': 'BTC/USD', 'postOnly': False, 'price': 11849.0, 'priceIncrement': 0.5, 'quoteCurrency': 'USD', 'quoteVolume24h': 9271567.5201, 'restricted': False, 'sizeIncrement': 0.0001, 'type': 'spot', 'underlying': None, 'volumeUsd24h': 9271567.5201} + +### Date ranges + +Any time-based parameters accept Python `datetime` objects. All timestamps returned from FTX are UTC. + + >>> client = ftx.FtxClient() + >>> client.get_trades('BTC/USD', 1, datetime.datetime(2020,8,20).timestamp()) + [{'id': 88953674, 'liquidation': False, 'price': 11861.0, 'side': 'sell', 'size': 0.0105, 'time': '2020-08-20T17:33:19.115690+00:00'}] + +### Authenticated endpoints + +Private endpoints require authentication. Clients authenticate with an API key. For more information, +see:[API keys](https://help.ftx.com/hc/en-us/articles/360044411911-FTX-Features-Overview#h_6a76d63d-e6cd-45db-87ab-5778af4e3b07) + +To get an authenticated client instance: + + >>> client = ftx.FtxClient(api_key=<YOUR API KEY>, api_secret=<YOUR API SECRET>) + +If you try to access a private endpoint with an unauthenticated client, an error is raised. Calls to private endpoints +work the same as regular ones: + + client.get_open_orders('BTC/USD') + +## Advanced usage + +### Placing orders + +An order can be placed through the `place_order()` function. See +[the API Documentation](https://docs.ftx.com/#place-order) for required and optional parameters. + + client.place_order('BTC/USD', 'sell', 12345.0, 10) + +### Modifying orders + +Orders can be modified by providing the original order ID. + + >>> client.place_order('BTC/USD', 'sell', 12345.0, 10) + {"createdAt": "2020-08-20T17:33:19.115690+00:00","filledSize": 0,"id": 9596912,"market": "BTC/USD"... + + >>> client.modify_order(9596912, 12500.0, 15).result() + +### Canceling orders + +An order can be canceled given the order ID: + + client.cancel_order(9596912).result() + + + + +%prep +%autosetup -n ftx-1.2.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-ftx -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.0-1 +- Package Spec generated |
