What Happened to Bank Python (Concept)?
Bank Python refers to the highly customized, proprietary forks of the Python programming language and its ecosystem developed and used internally by major investment banks. These systems, often characterized by unique data structures, internal IDEs, and global object databases, emerged to address specific financial modeling and data processing needs, diverging significantly from open-source Python over time. While the broader financial industry increasingly adopts standard Python for various applications, these bespoke 'Bank Python' environments continue to operate, albeit facing challenges like the migration from Python 2 to Python 3.
Quick Answer
Bank Python is a term coined to describe the unique, proprietary versions of the Python programming language and its associated tools that have been developed and maintained by large investment banks for their internal operations. These systems are distinct from the open-source Python used by the wider tech community, featuring custom libraries, data structures, and development environments tailored to complex financial tasks. Despite the growing adoption of standard Python in fintech, these 'Bank Python' ecosystems persist, continually evolving to meet the specific demands of high-stakes financial modeling and data management, while also grappling with modernization challenges like updating from older Python versions.
📊Key Facts
📅Complete Timeline13 events
Early Adoption of Python in Investment Banks
Investment banks like Goldman Sachs began adopting Python for various tasks, leading to the development of internal, customized systems to handle complex financial data and models.
Post-Financial Crisis Drive for Transparency
Following the 2008 financial crisis, banks sought more transparent and collaborative systems, contributing to the adoption of Python for rewriting core systems at firms like Bank of America Merrill Lynch and JPMorgan.
Bank of America's Python Adoption Clarified
A Bank of America software developer clarified that while Python was prevalent, the 'entire tech stack' had not been converted, but the bank was moving in that direction for big data teams and internal web apps.
JPMorgan Begins Python 2 to 3 Migration for Athena
JPMorgan started the process of migrating its Athena risk and pricing platform, built on Python 2.7 with 35 million lines of code, to Python 3, a significant undertaking.
Python 2 End-of-Life Impacts Banks
The official end-of-life for Python 2 created significant challenges for banks like JPMorgan, which had extensive systems built on Python 2.7, necessitating large-scale migration efforts.
JPMorgan's Ongoing Python 3 Migration Challenges
Reports indicated that JPMorgan was still grappling with its Python 2 to 3 migration, with 90% of Athena's code compatible but less than 10% of production servers running Python 3.
Cal Paterson Publishes 'An Oral History of Bank Python'
Software engineer Cal Paterson published a seminal article detailing the 'strange world' of Bank Python, describing it as proprietary forks of the Python ecosystem used by big investment banks.
Python's Versatility in Banking Highlighted
Deepnote published an introduction to Python for banking, emphasizing its use in data analysis, financial modeling, automated trading, and risk management, showcasing its growing general adoption.
Python's Continued Dominance in Finance and Fintech
Monterail highlighted five reasons for Python's continued choice in finance and fintech in 2026, including its ease, community, AI/ML capabilities, and quick development cycle.
Python, Excel, and Power BI as Essential Finance Analytics Skills
The WallStreet School emphasized Python's role in automating financial processes, simulations, and large data handling, complementing Excel and Power BI for finance professionals in 2026.
Python as a Key Language for AI/ML in Finance
Netguru reported that Python remains one of the most demanded programming languages in the banking industry, crucial for implementing AI and machine learning innovations in finance.
Santander Publishes AI Projects Under Open Source License
Santander announced it is opening up over a dozen of its AI projects under an Open Source license on GitHub, aiming to foster shared innovation and build more trustworthy AI in banking.
Lloyds Banking Group Seeks Python Engineers for Cloud Infrastructure
Lloyds Banking Group posted job openings for Senior Infrastructure Engineers, explicitly mentioning the development of automation using tools such as Python for GCP infrastructure.
🔍Deep Dive Analysis
The phenomenon known as 'Bank Python' describes the bespoke, often deeply entrenched, Python environments found within major investment banks. These are not off-the-shelf Python distributions but rather proprietary forks of the entire Python ecosystem, developed over years to handle the unique demands of financial modeling, risk management, and data analysis. The genesis of Bank Python can be traced back to the need to move complex financial models out of less robust tools like Excel, providing a more scalable and programmable environment for quantitative analysts and traders.
Key characteristics of Bank Python implementations include proprietary libraries, custom data structures (like 'MnTable' for medium-sized datasets), and internal Integrated Development Environments (IDEs) tailored to the bank's specific workflow. Many of these systems operate on a 'data-first' principle, often foregoing traditional filesystems in favor of massive, global object databases (such as 'Minerva' or 'Barbara') that store everything from trade data to market instruments. This approach allows for rapid access and manipulation of vast amounts of financial data.
The divergence between Bank Python and the open-source Python community has been a significant aspect of its story. As Cal Paterson highlighted in his 2021 'oral history,' the internal ecosystems often develop independently, with little adoption of external innovations and sometimes exhibiting a 'Not Invented Here' syndrome. This divergence can create challenges for developers transitioning between banking and other industries, as the skills required for Bank Python may atrophy in relation to standard open-source practices.
A major turning point and ongoing challenge for many banks has been the end-of-life for Python 2. JPMorgan, for instance, faced a substantial undertaking to convert its Athena risk and pricing platform, built on Python 2.7 with 35 million lines of code, to Python 3. While significant progress was reported by 2021, with 90% of the code becoming Python 3 compatible, the full migration of production servers proved to be a complex and time-consuming process.
As of 2026, while these proprietary Bank Python systems continue to operate, the broader financial industry is also witnessing an accelerated adoption of standard, open-source Python. Python is increasingly becoming the language of choice for data analysis, financial modeling, algorithmic trading, and particularly for artificial intelligence and machine learning applications in fintech and banking. Trends in 2026 emphasize Python's role in AI-powered forecasting, risk modeling, and compliance workflows, with financial institutions investing in robust data and AI backbones. This suggests a dual landscape where legacy Bank Python systems coexist with, and perhaps are gradually influenced by, the powerful and rapidly evolving open-source Python ecosystem that drives innovation across the financial services sector. Banks like Santander are even publishing AI projects under an Open Source license in 2026, indicating a potential shift towards more collaborative development in certain areas.
What If...?
Explore alternate histories. What if Bank Python (Concept) made different choices?