Current section
4 Versions
Jump to
Current section
4 Versions
Compare versions
16
files changed
+132
additions
-128
deletions
| @@ -377,3 +377,4 @@ MIT License - see [LICENSE](https://github.com/phiat/alpa_ex/blob/main/LICENSE) | |
| 377 377 | - [Hex Docs](https://hexdocs.pm/alpa_ex) |
| 378 378 | - [Alpaca API Documentation](https://docs.alpaca.markets/) |
| 379 379 | - [Previous version (alpa)](https://github.com/phiat/alpa) |
| 380 | + - [Task Tracking with Beads](https://github.com/steveyegge/beads) — AI-native issue tracker used for project planning |
unknownassets/alpa_ex.png
File is too large to be displayed (1 MiB limit).
| @@ -2,43 +2,44 @@ | |
| 2 2 | [{<<"Alpaca API Docs">>,<<"https://docs.alpaca.markets">>}, |
| 3 3 | {<<"GitHub">>,<<"https://github.com/phiat/alpa_ex">>}]}. |
| 4 4 | {<<"name">>,<<"alpa_ex">>}. |
| 5 | - {<<"version">>,<<"1.0.1">>}. |
| 5 | + {<<"version">>,<<"1.0.2">>}. |
| 6 6 | {<<"description">>, |
| 7 7 | <<"Elixir client library for the Alpaca Trading API.\nSupports trading, market data, and account management.">>}. |
| 8 8 | {<<"elixir">>,<<"~> 1.14">>}. |
| 9 9 | {<<"app">>,<<"alpa_ex">>}. |
| 10 10 | {<<"licenses">>,[<<"MIT">>]}. |
| 11 11 | {<<"files">>, |
| 12 | - [<<"lib">>,<<"lib/alpa">>,<<"lib/alpa/helpers.ex">>,<<"lib/alpa/crypto">>, |
| 13 | - <<"lib/alpa/crypto/market_data.ex">>,<<"lib/alpa/crypto/trading.ex">>, |
| 14 | - <<"lib/alpa/crypto/funding.ex">>,<<"lib/alpa/client.ex">>, |
| 15 | - <<"lib/alpa/market_data">>,<<"lib/alpa/market_data/bars.ex">>, |
| 16 | - <<"lib/alpa/market_data/trades.ex">>, |
| 17 | - <<"lib/alpa/market_data/snapshots.ex">>, |
| 18 | - <<"lib/alpa/market_data/quotes.ex">>,<<"lib/alpa/config.ex">>, |
| 19 | - <<"lib/alpa/application.ex">>,<<"lib/alpa/pagination.ex">>, |
| 20 | - <<"lib/alpa/stream">>,<<"lib/alpa/stream/trade_updates.ex">>, |
| 21 | - <<"lib/alpa/stream/market_data.ex">>,<<"lib/alpa/models">>, |
| 22 | - <<"lib/alpa/models/trade.ex">>,<<"lib/alpa/models/asset.ex">>, |
| 23 | - <<"lib/alpa/models/crypto_wallet.ex">>,<<"lib/alpa/models/clock.ex">>, |
| 24 | - <<"lib/alpa/models/account.ex">>,<<"lib/alpa/models/crypto_transfer.ex">>, |
| 25 | - <<"lib/alpa/models/calendar.ex">>,<<"lib/alpa/models/quote.ex">>, |
| 26 | - <<"lib/alpa/models/position.ex">>,<<"lib/alpa/models/activity.ex">>, |
| 27 | - <<"lib/alpa/models/order.ex">>,<<"lib/alpa/models/portfolio_history.ex">>, |
| 28 | - <<"lib/alpa/models/account_config.ex">>,<<"lib/alpa/models/snapshot.ex">>, |
| 29 | - <<"lib/alpa/models/watchlist.ex">>,<<"lib/alpa/models/option_contract.ex">>, |
| 30 | - <<"lib/alpa/models/corporate_action.ex">>,<<"lib/alpa/models/bar.ex">>, |
| 31 | - <<"lib/alpa/resource.ex">>,<<"lib/alpa/trading">>, |
| 32 | - <<"lib/alpa/trading/orders.ex">>,<<"lib/alpa/trading/positions.ex">>, |
| 33 | - <<"lib/alpa/trading/account.ex">>,<<"lib/alpa/trading/market.ex">>, |
| 34 | - <<"lib/alpa/trading/watchlists.ex">>, |
| 12 | + [<<"lib">>,<<"lib/alpa">>,<<"lib/alpa/application.ex">>, |
| 13 | + <<"lib/alpa/crypto">>,<<"lib/alpa/crypto/market_data.ex">>, |
| 14 | + <<"lib/alpa/crypto/trading.ex">>,<<"lib/alpa/crypto/funding.ex">>, |
| 15 | + <<"lib/alpa/helpers.ex">>,<<"lib/alpa/client.ex">>,<<"lib/alpa/trading">>, |
| 16 | + <<"lib/alpa/trading/positions.ex">>,<<"lib/alpa/trading/market.ex">>, |
| 17 | + <<"lib/alpa/trading/assets.ex">>,<<"lib/alpa/trading/account.ex">>, |
| 18 | + <<"lib/alpa/trading/orders.ex">>, |
| 35 19 | <<"lib/alpa/trading/corporate_actions.ex">>, |
| 36 | - <<"lib/alpa/trading/assets.ex">>,<<"lib/alpa/error.ex">>, |
| 37 | - <<"lib/alpa/options">>,<<"lib/alpa/options/contracts.ex">>, |
| 38 | - <<"lib/alpa.ex">>,<<"config">>,<<"config/prod.exs">>,<<"config/dev.exs">>, |
| 39 | - <<"config/test.exs">>,<<"config/config.exs">>,<<"config/runtime.exs">>, |
| 40 | - <<"assets">>,<<"assets/alpa_ex.png">>,<<"mix.exs">>,<<"README.md">>, |
| 41 | - <<"CHANGELOG.md">>,<<"LICENSE">>]}. |
| 20 | + <<"lib/alpa/trading/watchlists.ex">>,<<"lib/alpa/options">>, |
| 21 | + <<"lib/alpa/options/contracts.ex">>,<<"lib/alpa/resource.ex">>, |
| 22 | + <<"lib/alpa/config.ex">>,<<"lib/alpa/stream">>, |
| 23 | + <<"lib/alpa/stream/market_data.ex">>,<<"lib/alpa/stream/trade_updates.ex">>, |
| 24 | + <<"lib/alpa/error.ex">>,<<"lib/alpa/models">>, |
| 25 | + <<"lib/alpa/models/account_config.ex">>,<<"lib/alpa/models/watchlist.ex">>, |
| 26 | + <<"lib/alpa/models/position.ex">>, |
| 27 | + <<"lib/alpa/models/portfolio_history.ex">>, |
| 28 | + <<"lib/alpa/models/crypto_transfer.ex">>, |
| 29 | + <<"lib/alpa/models/corporate_action.ex">>,<<"lib/alpa/models/quote.ex">>, |
| 30 | + <<"lib/alpa/models/account.ex">>,<<"lib/alpa/models/activity.ex">>, |
| 31 | + <<"lib/alpa/models/snapshot.ex">>,<<"lib/alpa/models/trade.ex">>, |
| 32 | + <<"lib/alpa/models/order.ex">>,<<"lib/alpa/models/option_contract.ex">>, |
| 33 | + <<"lib/alpa/models/crypto_wallet.ex">>,<<"lib/alpa/models/asset.ex">>, |
| 34 | + <<"lib/alpa/models/clock.ex">>,<<"lib/alpa/models/bar.ex">>, |
| 35 | + <<"lib/alpa/models/calendar.ex">>,<<"lib/alpa/pagination.ex">>, |
| 36 | + <<"lib/alpa/market_data">>,<<"lib/alpa/market_data/snapshots.ex">>, |
| 37 | + <<"lib/alpa/market_data/trades.ex">>,<<"lib/alpa/market_data/quotes.ex">>, |
| 38 | + <<"lib/alpa/market_data/bars.ex">>,<<"lib/alpa.ex">>,<<"config">>, |
| 39 | + <<"config/prod.exs">>,<<"config/runtime.exs">>,<<"config/test.exs">>, |
| 40 | + <<"config/config.exs">>,<<"config/dev.exs">>,<<"assets">>, |
| 41 | + <<"assets/alpa_ex.png">>,<<"mix.exs">>,<<"README.md">>,<<"CHANGELOG.md">>, |
| 42 | + <<"LICENSE">>]}. |
| 42 43 | {<<"requirements">>, |
| 43 44 | [[{<<"name">>,<<"req">>}, |
| 44 45 | {<<"app">>,<<"req">>}, |
| @@ -153,6 +153,7 @@ defmodule Alpa.Client do | |
| 153 153 | |
| 154 154 | defp maybe_add_body(opts, body) do |
| 155 155 | headers = Keyword.get(opts, :headers, []) |
| 156 | + |
| 156 157 | opts |
| 157 158 | |> Keyword.put(:json, body) |
| 158 159 | |> Keyword.put(:headers, headers ++ [{"Content-Type", "application/json"}]) |
| @@ -65,10 +65,10 @@ defmodule Alpa.Config do | |
| 65 65 | trading_url = get_trading_url(opts) |
| 66 66 | |
| 67 67 | use_paper = |
| 68 | - if Keyword.has_key?(opts, :trading_url) do |
| 69 | - String.contains?(trading_url, "paper") |
| 70 | - else |
| 71 | - get_opt(opts, :use_paper, true) |
| 68 | + cond do |
| 69 | + Keyword.has_key?(opts, :use_paper) -> Keyword.get(opts, :use_paper) |
| 70 | + Keyword.has_key?(opts, :trading_url) -> String.contains?(trading_url, "paper") |
| 71 | + true -> get_opt(opts, :use_paper, true) |
| 72 72 | end |
| 73 73 | |
| 74 74 | %__MODULE__{ |
Loading more files…