alpaca-py


Namealpaca-py JSON
Version 0.20.4 PyPI version JSON
download
home_pagehttps://github.com/alpacahq/alpaca-py
SummaryThe Official Python SDK for Alpaca APIs
upload_time2024-04-26 07:18:16
maintainerNone
docs_urlNone
authorRahul Chowdhury
requires_python<4.0.0,>=3.8.0
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Alpaca-py](https://github.com/alpacahq/alpaca-py/blob/master/docs/images/alpaca-py-banner.png?raw=true)](https://alpaca.markets/docs/python-sdk)

[![Downloads](https://pepy.tech/badge/alpaca-py/month)](https://pepy.tech/project/alpaca-py)
[![Python Versions](https://img.shields.io/pypi/pyversions/alpaca-py.svg?logo=python&logoColor=white)](https://pypi.org/project/alpaca-py)
[![GitHub](https://img.shields.io/github/license/alpacahq/alpaca-py?color=blue)](https://github.com/alpacahq/alpaca-py/blob/master/LICENSE.md)
[![PyPI](https://img.shields.io/pypi/v/alpaca-py?color=blue)](https://pypi.org/project/alpaca-py/)

## Table of Contents
* [About](#about)
* [Documentation](#documentation)
* [Installation](#installation)
* [Update](#update)
* [What's New?](#whats-new)
   1. [Broker API](#broker-api-new)
   2. [OOP Design](#oop-design)
   3. [Data Validation](#data-validation)
   4. [Many Clients](#many-clients)
* [API Keys](#api-keys)
   1. [Trading and Market Data API Keys](#trading-api-keys)
   2. [Broker API Keys](#trading-api-keys)
* [Usage](#usage)
   1. [Broker API Example](#broker-api-example)
   2. [Trading API Example](#trading-api-example)
   3. [Market Data API Example](#data-api-example)
* [Contributing](https://github.com/alpacahq/alpaca-py/blob/master/CONTRIBUTING.md)
* [License](https://github.com/alpacahq/alpaca-py/blob/master/LICENSE)

## About <a name="about"></a>

Alpaca-py provides an interface for interacting with the API products Alpaca offers. These API products are provided as various REST, WebSocket and SSE endpoints that allow you to do everything from streaming market data to creating your own investment apps. 

Learn more about the API products Alpaca offers at https://alpaca.markets.

## Documentation <a name="documentation"></a>

Alpaca-py has a supplementary documentation site which contains references for all clients, methods and models found in this codebase. The documentation
also contains examples to get started with alpaca-py.

You can find the documentation site here: https://docs.alpaca.markets/docs/getting-started-1

## Installation <a name="installation"></a>

Alpaca-py is supported on Python 3.7+.  You can install Alpaca-py using pip.

Run the following command in your terminal.

```shell
  pip install alpaca-py
```

## Update <a name="update"></a>

If you already have Alpaca-py installed, and would like to use the latest version available...

Run the following command in your terminal:

```shell
  pip install alpaca-py --upgrade
```

## What’s New? <a name="whats-new"></a>
If you’ve used the previous python SDK alpaca-trade-api, there are a few key differences to be aware of.

### Broker API <a name="broker-api-new"></a>
Alpaca-py lets you use Broker API to start building your investment apps! Learn more at the [Broker](https://docs.alpaca.markets/docs/broker-api) page.

### OOP Design <a name="oop-design"></a>
Alpaca-py uses a more OOP approach to submitting requests compared to the previous SDK. To submit a request, you will most likely need to create a request object containing the desired request data. Generally, there is a unique request model for each method. 

Some examples of request models corresponding to methods: 

* ``GetOrdersRequest`` for ``TradingClient.get_orders()``
* ``CryptoLatestOrderbookRequest`` for ``CryptoHistoricalDataClient.get_crypto_latest_orderbook()``

**Request Models Usage Example**

To get historical bar data for crypto, you will need to provide a ``CryptoBarsRequest`` object.

```python
from alpaca.data.historical import CryptoHistoricalDataClient
from alpaca.data.requests import CryptoBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime

# no keys required for crypto data
client = CryptoHistoricalDataClient()

request_params = CryptoBarsRequest(
                        symbol_or_symbols=["BTC/USD", "ETH/USD"],
                        timeframe=TimeFrame.Day,
                        start=datetime(2022, 7, 1)
                 )

bars = client.get_crypto_bars(request_params)
```

### Data Validation <a name="data-validation"></a>
Alpaca-py uses *pydantic* to validate data models at run-time. This means if you are receiving request data via JSON from a client. You can handle parsing and validation through Alpaca’s request models. All request models can be instantiated by passing in data in dictionary format.

Here is a rough example of what is possible.

```python

 @app.route('/post_json', methods=['POST'])
 def do_trade():
     # ...

     order_data_json = request.get_json()

     # validate data
     MarketOrderRequest(**order_data_json)

     # ...
```

### Many Clients <a name="many-clients"></a>
Alpaca-py has a lot of client classes. There is a client for each API and even asset class specific clients (``StockHistoricalDataClient``, ``CryptoDataStream``, ``OptionHistoricalDataClient``). This requires you to pick and choose clients based on your needs.

**Broker API:** ``BrokerClient``

**Trading API:** ``TradingClient``

**Market Data API:**  ``StockHistoricalDataClient``, ``CryptoHistoricalDataClient``, ``OptionHistoricalDataClient``, ``CryptoDataStream``, ``StockDataStream``, ``OptionDataStream``

## API Keys <a name="api-keys"></a>

### Trading and Market Data API <a name="trading-api-keys"></a>
In order to use Alpaca’s services you’ll need to sign up for an Alpaca account and retrieve your API keys. Signing up is completely free and takes only a few minutes. Sandbox environments are available to test out the API. To use the sandbox environment, you will need to provide sandbox/paper keys. API keys are passed into Alpaca-py through either ``TradingClient``, ``StockHistoricalDataClient``, ``CryptoHistoricalDataClient``, ``OptionHistoricalDataClient``. ``StockDataStream``, ``CryptoDataStream``, or ``OptionDataStream``.

### Broker API <a name="broker-api-keys"></a>
To use the Broker API, you will need to sign up for a broker account and retrieve your Broker API keys. The API keys can be found on the dashboard once you’ve logged in. Alpaca also provides a sandbox environment to test out Broker API. To use the sandbox mode, provide your sandbox keys. Once you have your keys, you can pass them into ``BrokerClient`` to get started.

## Usage <a name="usage"></a>
Alpaca’s APIs allow you to do everything from building algorithmic trading strategies to building a full brokerage experience for your own end users. Here are some things you can do with Alpaca-py.

To view full descriptions and examples view the [documentation page](https://docs.alpaca.markets/docs/getting-started-1).

**Market Data API**: Access live and historical market data for 5000+ stocks, 20+ crypto, and options(beta).

**Trading API**: Trade stock and crypto with lightning fast execution speeds.

**Broker API & Connect**: Build investment apps - from robo-advisors to brokerages.

### Broker API Example <a name="broker-api-example"></a>

**Listing All Accounts**

The ``BrokerClient.list_accounts`` method allows you to list all the brokerage accounts under your management. The method takes an optional parameter ``search_parameters`` which requires a ``ListAccountsRequest`` object. This parameter allows you to filter the list of accounts returned.

```python
from alpaca.broker.client import BrokerClient
from alpaca.broker.requests import ListAccountsRequest
from alpaca.broker.enums import AccountEntities

broker_client = BrokerClient('api-key', 'secret-key')

# search for accounts created after January 30th 2022.
# Response should contain Contact and Identity fields for each account.
filter = ListAccountsRequest(
                    created_after=datetime.datetime.strptime("2022-01-30", "%Y-%m-%d"),
                    entities=[AccountEntities.CONTACT, AccountEntities.IDENTITY]
                    )

accounts = broker_client.list_accounts(search_parameters=filter)
```

### Trading API Example <a name="trading-api-example"></a>

**Submitting an Order**

To create an order on Alpaca-py you must use an ``OrderRequest`` object. There are different ``OrderRequest`` objects based on the type of order you want to make. For market orders, there is ``MarketOrderRequest``, limit orders have ``LimitOrderRequest``, stop orders ``StopOrderRequest``, and trailing stop orders have ``TrailingStopOrderRequest``. Each order type have their own required parameters for a successful order.


```python
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import MarketOrderRequest
from alpaca.trading.enums import OrderSide, TimeInForce

trading_client = TradingClient('api-key', 'secret-key')


# preparing order data
market_order_data = MarketOrderRequest(
                      symbol="BTC/USD",
                      qty=0.0001,
                      side=OrderSide.BUY,
                      time_in_force=TimeInForce.DAY
                  )

# Market order
market_order = trading_client.submit_order(
                order_data=market_order_data
                )
```


### Market Data API Example <a name="data-api-example"></a>
**Querying Historical Bar Data**

You can request bar data via the HistoricalDataClients. In this example, we query daily bar data for “BTC/USD” and “ETH/USD” since July 1st 2022. You can convert the response to a multi-index pandas dataframe using the ``.df`` property.

```python
from alpaca.data.historical import CryptoHistoricalDataClient
from alpaca.data.requests import CryptoBarsRequest
from alpaca.data.timeframe import TimeFrame
from datetime import datetime

# no keys required for crypto data
client = CryptoHistoricalDataClient()

request_params = CryptoBarsRequest(
                        symbol_or_symbols=["BTC/USD", "ETH/USD"],
                        timeframe=TimeFrame.Day,
                        start=datetime.strptime("2022-07-01", '%Y-%m-%d')
                        )

bars = client.get_crypto_bars(request_params)

# convert to dataframe
bars.df

```

### Options Trading (Beta) <a name="options-trading"></a>

We're excited to support options trading! Use this section to read up on Alpaca's Beta trading capabilities.
For more details, please refer to [our documentation page for options trading](https://docs.alpaca.markets/v1.1/docs/options-trading)

> Options trading is in BETA. Only BETA users are able to access options endpoints. We will continue to update our documentation as we collect your valuable feedback.

There is an example jupyter notebook to explain methods of alpaca-py for options trading.

* [jupyter notebook: options trading basic example with alpaca-py](https://github.com/alpacahq/alpaca-py/blob/master/examples/options-trading-basic.ipynb)

### Jupyter Notebook Library <a name="colab-library"></a>

We have put together some examples in jupyter notebooks so that you can start developing today with alpaca-py right away!

* [Stocks](https://github.com/alpacahq/alpaca-py/blob/master/examples/stocks-trading-basic.ipynb)
* [Options](https://github.com/alpacahq/alpaca-py/blob/master/examples/options-trading-basic.ipynb)
* [Crypto](https://github.com/alpacahq/alpaca-py/blob/master/examples/crypto-trading-basic.ipynb)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/alpacahq/alpaca-py",
    "name": "alpaca-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Rahul Chowdhury",
    "author_email": "rahul.chowdhury@alpaca.markets",
    "download_url": "https://files.pythonhosted.org/packages/d0/4e/ff559033408697dcc1ea528a6b1b40876402a804df655b6ba3f500920b87/alpaca_py-0.20.4.tar.gz",
    "platform": null,
    "description": "[![Alpaca-py](https://github.com/alpacahq/alpaca-py/blob/master/docs/images/alpaca-py-banner.png?raw=true)](https://alpaca.markets/docs/python-sdk)\n\n[![Downloads](https://pepy.tech/badge/alpaca-py/month)](https://pepy.tech/project/alpaca-py)\n[![Python Versions](https://img.shields.io/pypi/pyversions/alpaca-py.svg?logo=python&logoColor=white)](https://pypi.org/project/alpaca-py)\n[![GitHub](https://img.shields.io/github/license/alpacahq/alpaca-py?color=blue)](https://github.com/alpacahq/alpaca-py/blob/master/LICENSE.md)\n[![PyPI](https://img.shields.io/pypi/v/alpaca-py?color=blue)](https://pypi.org/project/alpaca-py/)\n\n## Table of Contents\n* [About](#about)\n* [Documentation](#documentation)\n* [Installation](#installation)\n* [Update](#update)\n* [What's New?](#whats-new)\n   1. [Broker API](#broker-api-new)\n   2. [OOP Design](#oop-design)\n   3. [Data Validation](#data-validation)\n   4. [Many Clients](#many-clients)\n* [API Keys](#api-keys)\n   1. [Trading and Market Data API Keys](#trading-api-keys)\n   2. [Broker API Keys](#trading-api-keys)\n* [Usage](#usage)\n   1. [Broker API Example](#broker-api-example)\n   2. [Trading API Example](#trading-api-example)\n   3. [Market Data API Example](#data-api-example)\n* [Contributing](https://github.com/alpacahq/alpaca-py/blob/master/CONTRIBUTING.md)\n* [License](https://github.com/alpacahq/alpaca-py/blob/master/LICENSE)\n\n## About <a name=\"about\"></a>\n\nAlpaca-py provides an interface for interacting with the API products Alpaca offers. These API products are provided as various REST, WebSocket and SSE endpoints that allow you to do everything from streaming market data to creating your own investment apps. \n\nLearn more about the API products Alpaca offers at https://alpaca.markets.\n\n## Documentation <a name=\"documentation\"></a>\n\nAlpaca-py has a supplementary documentation site which contains references for all clients, methods and models found in this codebase. The documentation\nalso contains examples to get started with alpaca-py.\n\nYou can find the documentation site here: https://docs.alpaca.markets/docs/getting-started-1\n\n## Installation <a name=\"installation\"></a>\n\nAlpaca-py is supported on Python 3.7+.  You can install Alpaca-py using pip.\n\nRun the following command in your terminal.\n\n```shell\n  pip install alpaca-py\n```\n\n## Update <a name=\"update\"></a>\n\nIf you already have Alpaca-py installed, and would like to use the latest version available...\n\nRun the following command in your terminal:\n\n```shell\n  pip install alpaca-py --upgrade\n```\n\n## What\u2019s New? <a name=\"whats-new\"></a>\nIf you\u2019ve used the previous python SDK alpaca-trade-api, there are a few key differences to be aware of.\n\n### Broker API <a name=\"broker-api-new\"></a>\nAlpaca-py lets you use Broker API to start building your investment apps! Learn more at the [Broker](https://docs.alpaca.markets/docs/broker-api) page.\n\n### OOP Design <a name=\"oop-design\"></a>\nAlpaca-py uses a more OOP approach to submitting requests compared to the previous SDK. To submit a request, you will most likely need to create a request object containing the desired request data. Generally, there is a unique request model for each method. \n\nSome examples of request models corresponding to methods: \n\n* ``GetOrdersRequest`` for ``TradingClient.get_orders()``\n* ``CryptoLatestOrderbookRequest`` for ``CryptoHistoricalDataClient.get_crypto_latest_orderbook()``\n\n**Request Models Usage Example**\n\nTo get historical bar data for crypto, you will need to provide a ``CryptoBarsRequest`` object.\n\n```python\nfrom alpaca.data.historical import CryptoHistoricalDataClient\nfrom alpaca.data.requests import CryptoBarsRequest\nfrom alpaca.data.timeframe import TimeFrame\nfrom datetime import datetime\n\n# no keys required for crypto data\nclient = CryptoHistoricalDataClient()\n\nrequest_params = CryptoBarsRequest(\n                        symbol_or_symbols=[\"BTC/USD\", \"ETH/USD\"],\n                        timeframe=TimeFrame.Day,\n                        start=datetime(2022, 7, 1)\n                 )\n\nbars = client.get_crypto_bars(request_params)\n```\n\n### Data Validation <a name=\"data-validation\"></a>\nAlpaca-py uses *pydantic* to validate data models at run-time. This means if you are receiving request data via JSON from a client. You can handle parsing and validation through Alpaca\u2019s request models. All request models can be instantiated by passing in data in dictionary format.\n\nHere is a rough example of what is possible.\n\n```python\n\n @app.route('/post_json', methods=['POST'])\n def do_trade():\n     # ...\n\n     order_data_json = request.get_json()\n\n     # validate data\n     MarketOrderRequest(**order_data_json)\n\n     # ...\n```\n\n### Many Clients <a name=\"many-clients\"></a>\nAlpaca-py has a lot of client classes. There is a client for each API and even asset class specific clients (``StockHistoricalDataClient``, ``CryptoDataStream``, ``OptionHistoricalDataClient``). This requires you to pick and choose clients based on your needs.\n\n**Broker API:** ``BrokerClient``\n\n**Trading API:** ``TradingClient``\n\n**Market Data API:**  ``StockHistoricalDataClient``, ``CryptoHistoricalDataClient``, ``OptionHistoricalDataClient``, ``CryptoDataStream``, ``StockDataStream``, ``OptionDataStream``\n\n## API Keys <a name=\"api-keys\"></a>\n\n### Trading and Market Data API <a name=\"trading-api-keys\"></a>\nIn order to use Alpaca\u2019s services you\u2019ll need to sign up for an Alpaca account and retrieve your API keys. Signing up is completely free and takes only a few minutes. Sandbox environments are available to test out the API. To use the sandbox environment, you will need to provide sandbox/paper keys. API keys are passed into Alpaca-py through either ``TradingClient``, ``StockHistoricalDataClient``, ``CryptoHistoricalDataClient``, ``OptionHistoricalDataClient``. ``StockDataStream``, ``CryptoDataStream``, or ``OptionDataStream``.\n\n### Broker API <a name=\"broker-api-keys\"></a>\nTo use the Broker API, you will need to sign up for a broker account and retrieve your Broker API keys. The API keys can be found on the dashboard once you\u2019ve logged in. Alpaca also provides a sandbox environment to test out Broker API. To use the sandbox mode, provide your sandbox keys. Once you have your keys, you can pass them into ``BrokerClient`` to get started.\n\n## Usage <a name=\"usage\"></a>\nAlpaca\u2019s APIs allow you to do everything from building algorithmic trading strategies to building a full brokerage experience for your own end users. Here are some things you can do with Alpaca-py.\n\nTo view full descriptions and examples view the [documentation page](https://docs.alpaca.markets/docs/getting-started-1).\n\n**Market Data API**: Access live and historical market data for 5000+ stocks, 20+ crypto, and options(beta).\n\n**Trading API**: Trade stock and crypto with lightning fast execution speeds.\n\n**Broker API & Connect**: Build investment apps - from robo-advisors to brokerages.\n\n### Broker API Example <a name=\"broker-api-example\"></a>\n\n**Listing All Accounts**\n\nThe ``BrokerClient.list_accounts`` method allows you to list all the brokerage accounts under your management. The method takes an optional parameter ``search_parameters`` which requires a ``ListAccountsRequest`` object. This parameter allows you to filter the list of accounts returned.\n\n```python\nfrom alpaca.broker.client import BrokerClient\nfrom alpaca.broker.requests import ListAccountsRequest\nfrom alpaca.broker.enums import AccountEntities\n\nbroker_client = BrokerClient('api-key', 'secret-key')\n\n# search for accounts created after January 30th 2022.\n# Response should contain Contact and Identity fields for each account.\nfilter = ListAccountsRequest(\n                    created_after=datetime.datetime.strptime(\"2022-01-30\", \"%Y-%m-%d\"),\n                    entities=[AccountEntities.CONTACT, AccountEntities.IDENTITY]\n                    )\n\naccounts = broker_client.list_accounts(search_parameters=filter)\n```\n\n### Trading API Example <a name=\"trading-api-example\"></a>\n\n**Submitting an Order**\n\nTo create an order on Alpaca-py you must use an ``OrderRequest`` object. There are different ``OrderRequest`` objects based on the type of order you want to make. For market orders, there is ``MarketOrderRequest``, limit orders have ``LimitOrderRequest``, stop orders ``StopOrderRequest``, and trailing stop orders have ``TrailingStopOrderRequest``. Each order type have their own required parameters for a successful order.\n\n\n```python\nfrom alpaca.trading.client import TradingClient\nfrom alpaca.trading.requests import MarketOrderRequest\nfrom alpaca.trading.enums import OrderSide, TimeInForce\n\ntrading_client = TradingClient('api-key', 'secret-key')\n\n\n# preparing order data\nmarket_order_data = MarketOrderRequest(\n                      symbol=\"BTC/USD\",\n                      qty=0.0001,\n                      side=OrderSide.BUY,\n                      time_in_force=TimeInForce.DAY\n                  )\n\n# Market order\nmarket_order = trading_client.submit_order(\n                order_data=market_order_data\n                )\n```\n\n\n### Market Data API Example <a name=\"data-api-example\"></a>\n**Querying Historical Bar Data**\n\nYou can request bar data via the HistoricalDataClients. In this example, we query daily bar data for \u201cBTC/USD\u201d and \u201cETH/USD\u201d since July 1st 2022. You can convert the response to a multi-index pandas dataframe using the ``.df`` property.\n\n```python\nfrom alpaca.data.historical import CryptoHistoricalDataClient\nfrom alpaca.data.requests import CryptoBarsRequest\nfrom alpaca.data.timeframe import TimeFrame\nfrom datetime import datetime\n\n# no keys required for crypto data\nclient = CryptoHistoricalDataClient()\n\nrequest_params = CryptoBarsRequest(\n                        symbol_or_symbols=[\"BTC/USD\", \"ETH/USD\"],\n                        timeframe=TimeFrame.Day,\n                        start=datetime.strptime(\"2022-07-01\", '%Y-%m-%d')\n                        )\n\nbars = client.get_crypto_bars(request_params)\n\n# convert to dataframe\nbars.df\n\n```\n\n### Options Trading (Beta) <a name=\"options-trading\"></a>\n\nWe're excited to support options trading! Use this section to read up on Alpaca's Beta trading capabilities.\nFor more details, please refer to [our documentation page for options trading](https://docs.alpaca.markets/v1.1/docs/options-trading)\n\n> Options trading is in BETA. Only BETA users are able to access options endpoints. We will continue to update our documentation as we collect your valuable feedback.\n\nThere is an example jupyter notebook to explain methods of alpaca-py for options trading.\n\n* [jupyter notebook: options trading basic example with alpaca-py](https://github.com/alpacahq/alpaca-py/blob/master/examples/options-trading-basic.ipynb)\n\n### Jupyter Notebook Library <a name=\"colab-library\"></a>\n\nWe have put together some examples in jupyter notebooks so that you can start developing today with alpaca-py right away!\n\n* [Stocks](https://github.com/alpacahq/alpaca-py/blob/master/examples/stocks-trading-basic.ipynb)\n* [Options](https://github.com/alpacahq/alpaca-py/blob/master/examples/options-trading-basic.ipynb)\n* [Crypto](https://github.com/alpacahq/alpaca-py/blob/master/examples/crypto-trading-basic.ipynb)\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "The Official Python SDK for Alpaca APIs",
    "version": "0.20.4",
    "project_urls": {
        "Documentation": "https://alpaca.markets/docs/python-sdk/",
        "Homepage": "https://github.com/alpacahq/alpaca-py",
        "Repository": "https://github.com/alpacahq/alpaca-py"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "20bf6b9142b92604a32e66b32fbee80f46849b436c5e7627eb7b6799c1fa9f15",
                "md5": "8a4c86a294e36689987a9a5f6a10e901",
                "sha256": "78c3bb57401f3aba7fc577314c1b79dcd375051a839be92c83ce3c1891587e6e"
            },
            "downloads": -1,
            "filename": "alpaca_py-0.20.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8a4c86a294e36689987a9a5f6a10e901",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8.0",
            "size": 111273,
            "upload_time": "2024-04-26T07:18:14",
            "upload_time_iso_8601": "2024-04-26T07:18:14.133524Z",
            "url": "https://files.pythonhosted.org/packages/20/bf/6b9142b92604a32e66b32fbee80f46849b436c5e7627eb7b6799c1fa9f15/alpaca_py-0.20.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d04eff559033408697dcc1ea528a6b1b40876402a804df655b6ba3f500920b87",
                "md5": "f706fc1b61e2ad6d956e894faf22fd79",
                "sha256": "2d188e8b3bd085b7fea3f42848f93573672e5afe2afea0df3a6a1bd97179caaf"
            },
            "downloads": -1,
            "filename": "alpaca_py-0.20.4.tar.gz",
            "has_sig": false,
            "md5_digest": "f706fc1b61e2ad6d956e894faf22fd79",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8.0",
            "size": 90108,
            "upload_time": "2024-04-26T07:18:16",
            "upload_time_iso_8601": "2024-04-26T07:18:16.353753Z",
            "url": "https://files.pythonhosted.org/packages/d0/4e/ff559033408697dcc1ea528a6b1b40876402a804df655b6ba3f500920b87/alpaca_py-0.20.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-26 07:18:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "alpacahq",
    "github_project": "alpaca-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "alpaca-py"
}
        
Elapsed time: 0.23464s