Schwabdev is an easy and lightweight python wrapper for using the Charles Schwab API.
This package is not affiliated with or endorsed by Schwab, it is maintained by Tyler Bowers & Contributors.
Licensed under the MIT license. Acts in accordance with Schwab's API terms and conditions.
Setup Guide: Start Here
Useful links:
- Join the Discord to ask questions or get help.
- Read the Documentation.
- Watch the Youtube tutorials.
- Chat with the Schwabdev Claude assistant.
- View the PyPi package page.
- View the Github repository.
- Automatic token management and refreshes.
- Authenticate and access the full api with minimal code. Examples.
- Stream real-time data with a customizable response handler Examples.
- Place orders and get order details Examples.
- Backtest and deploy strategies with the Trader Context submodule. (Beta)
- Support for Synchronous and Asynchronous programming Examples.
- Optional token database encryption for security Example.
- Optional automatic starting/stopping of streamer when market opens/closes.
- Streaming stability with automatic restarts if the streamer crashes.
- Fork this repository.
- Create a branch off of
devfor your change (e.g.git checkout -b my-fix dev). - Make your change and commit it with a clear, descriptive message.
- Push your branch to your fork.
- Open a Pull Request against the
devbranch (notmain) of this repository.
Keep each PR focused on a single change so it's easy to review. If you're fixing a bug or adding a feature, a short description of the problem/motivation in the PR description helps a lot.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.