jpmorganchase/python-training: a Binder-hosted Python course for analysts and traders
Python training for business analysts and traders
At a glance
- What is it?
- J.P. Morgan's open Python course teaches numerical computing and data visualization through finance notebooks, with no local install required. It is a classroom companion, not a self-study curriculum.
- Who is it for?
- Adopt jpmorganchase/python-training if you already have a facilitator or a finance-flavoured dataset and want notebooks that run in a browser with no setup. Do not adopt it as a standalone beginner curriculum: the README states the training is designed to be conducted in-person by J.P. Morgan technologists and traders, and there are no releases to pin.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 37 days ago.
- What is it written in?
- Mainly Jupyter Notebook, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The audience is narrow and the README says so
The repository opens with a one-line statement of scope: the training is for JPMorgan business analysts and traders, as well as select clients. That is not marketing hedging. The README also states the course is designed to be conducted in-person, led by J.P. Morgan technologists and traders, which means the notebooks are the artifact of a live session rather than a self-paced product. Anyone arriving from a generic Python tutorial search should read that sentence twice.
The subject matter is narrower still. The README describes the course as an introduction to numerical computing and data visualization, and explicitly disclaims being a complete course in Computer Science or programming. The framing is motivational: show people without formal programming backgrounds that relatively complex topics are accessible. If you want inheritance, decorators, packaging or testing, this is the wrong repository, and the maintainers would agree.
Binder is the runtime, and that decides the architecture
There is no server component, no CLI and no package to install from this repository. The README links a single launch badge to mybinder.org with the path gh/jpmorganchase/python-training/main and urlpath=lab, which builds an environment from the repository and opens JupyterLab in the browser. The build inputs are visible in the repository layout: a Pipfile and Pipfile.lock at the top level, and a binder/ directory for Binder-specific configuration.
That choice has consequences worth naming. Because the environment is rebuilt from Pipfile.lock on each launch, the notebooks execute against a pinned dependency set rather than whatever is on your laptop. It also means the course is online by default: a Binder session is a temporary container, and the README does not document persistence, so anything you type into a notebook lives only as long as the session. The repository carries no releases, so there is no version number to cite when you file an issue or pin a copy for a cohort.
Installing it locally and running a first notebook
The README gives no local installation instructions, so the supported path is the Binder badge. If you want the notebooks on your own machine, the repository layout is the guide: clone it, then use the Pipfile. The commands below follow that layout; the README itself does not spell them out.
git clone https://github.com/jpmorganchase/python-training.git
cd python-training
pipenv install
pipenv run jupyter labpipenv install reads the Pipfile and Pipfile.lock, and jupyter lab starts the notebook server locally. You should land in a file browser showing the notebooks/ directory.
One notebook needs a data key. The .env.example file states that notebooks/8_altman_z_double_prime.ipynb uses the Alpha Vantage API, and that if the key is unset the notebook falls back to Alpha Vantage's public demo key, which returns real data only for the IBM ticker. Copy the template and fill it in.
cp .env.example .envThe template sets ALPHA_VANTAGE_API_KEY=your_alpha_vantage_key_here. The README points to https://www.alphavantage.co/support/#api-key for a free personal key, which the .env.example says is needed for any ticker other than IBM. The same file also carries IEX_API_TOKEN, and it states plainly that no notebook currently uses it: IEX Cloud was fully discontinued on August 31, 2024, so the entry is a placeholder.
The Alpha Vantage key is the sharpest edge in the repository
The migration from IEX Cloud to Alpha Vantage is documented in the README, and the .env.example explains the failure mode. Leave ALPHA_VANTAGE_API_KEY unset and the Altman Z double prime notebook still runs, but only IBM returns real data. A learner who swaps in another ticker without reading the template will get demo output and may not notice, because nothing in the notebook forces a warning. That is a silent-wrong-data problem, which is worse in a teaching context than a hard error.
The .env.example also argues against its own filename. Its comments state that storing tokens in a .env file is convenient but not good practice, that such files are easy to commit by accident, can leak through shell history or process listings, and sit on disk in plaintext, and it recommends an OS keychain locally or a vault such as HashiCorp Vault, AWS Secrets Manager or Azure Key Vault in shared environments. The file is a template, and it says never to commit an actual .env. The .gitignore at the top level is listed as covering it. This is honest documentation, and it is also a warning that the repository expects you to bring your own secret handling.
What you would use instead, and why the difference matters
For self-directed learners the obvious alternative is a general-purpose Python curriculum such as Google's Python class, which the related searches surface. The difference in approach is the point: a general course sequences language fundamentals first and adds domain examples later, while this repository inverts that. It starts from numerical computing and data visualization with financial and airline datasets, and treats programming mechanics as a means to those ends. Neither ordering is wrong, but they produce different first-week experiences. A general course will teach you loops and then show a stock chart. This repository shows a stock chart and teaches whatever the chart requires.
A second alternative is the Jupyter ecosystem itself. If your goal is to run notebooks rather than to teach analysts, Binder and JupyterLab are the underlying tools, and this repository is a configured instance of them. Adopting the course means adopting someone else's environment definition, which is a feature when you want reproducibility and a constraint when you want to add your own dependencies.
Licence, maintenance and the cost of upgrading
The repository is licensed under Apache-2.0, and the README points to the LICENSE file for details. Apache-2.0 is permissive and includes an explicit patent grant, which is usually what matters to a bank's open source review. Two README statements sit alongside the licence and are worth reading together: the data attribution section says references to IEX Cloud, Alpha Vantage or any other third-party platform, product, data or API provider are for illustrative and educational purposes only and should not be construed as an endorsement, and the platform attribution section credits Binder and its sponsors, Google Cloud Platform, OVH, GESIS Notebooks and the Turing Institute. If you redistribute the notebooks, the third-party data terms travel with them separately from the Apache-2.0 grant. This is a description of what the files say, not legal advice.
On maintenance: the repository is not archived, and the last push was on 2026-08-24. There are no releases, so an upgrade means tracking the main branch and diffing Pipfile.lock yourself. The concrete upgrade cost is the data provider. The course has already absorbed one forced migration, from IEX Cloud to Alpha Vantage after IEX Cloud was fully discontinued on August 31, 2024, and the placeholder IEX_API_TOKEN is what remains. Any organisation running these notebooks in production-adjacent settings should treat the single Alpha Vantage dependency as the item most likely to need attention.
Editorial conclusion
Adopt jpmorganchase/python-training if you already have a facilitator or a finance-flavoured dataset and want notebooks that run in a browser with no setup. Do not adopt it as a standalone beginner curriculum: the README states the training is designed to be conducted in-person by J.P. Morgan technologists and traders, and there are no releases to pin. Before relying on it, open the notebooks/ directory and the .env.example file to confirm which notebooks depend on Alpha Vantage and which data files ship in data/.
Frequently asked questions
What is jpmorganchase/python-training?
It is an introduction to numerical computing and data visualization in Python, published by J.P. Morgan for its business analysts and traders as well as select clients. The README states it is not a complete course in computer science or programming.
How do I get started with jpmorganchase/python-training?
The README provides a launch badge that opens the notebooks in JupyterLab through Binder, so no local install is required. For a local copy, the repository layout points to the Pipfile at the top level and the notebooks/ directory.
Can I teach myself Python with jpmorganchase/python-training?
The README states the training is designed to be conducted in-person, led by J.P. Morgan technologists and traders, so the notebooks are intended to accompany a session rather than replace one. It also disclaims being a complete programming course.
Why does jpmorganchase/python-training ask for an Alpha Vantage API key?
The .env.example file states that notebooks/8_altman_z_double_prime.ipynb uses the Alpha Vantage API, and that without a key the notebook falls back to the public demo key, which returns real data only for the IBM ticker. The README links to Alpha Vantage for a free personal key.
Does jpmorganchase/python-training still use IEX Cloud?
No. The README states IEX Cloud was fully discontinued on August 31, 2024, and the affected notebook was migrated to Alpha Vantage. The .env.example keeps IEX_API_TOKEN only as a placeholder and notes that no notebook currently uses it.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jpmorganchase-python-training)