Editorial disclosure
This article reflects the independent analysis and professional opinion of the author. Groundwork Analytics maintains the petro-mcp project, which is one of the five projects discussed. All other projects are independent and are included on technical merit. No project maintainers reviewed or influenced this content prior to publication.
Your reservoir engineering professor will not tell you this. Your career services office probably will not either. But the single most effective thing you can do as a petroleum engineering student -- beyond your GPA, beyond your internship, beyond your SPE chapter presidency -- is contribute to an open-source project and put the evidence on your GitHub profile.
Here is the reality: when a hiring manager at an operator or service company has two candidates with similar GPAs and internship experience, the one with a GitHub profile showing actual code contributions to real engineering projects will get the interview. Not because GitHub is a magic credential, but because it demonstrates something a resume cannot: that you can read someone else's code, understand a codebase, write something useful, and get it accepted by other engineers. Those are the skills that matter on Day 1 of any technical role.
The petroleum engineering open-source ecosystem is small compared to web development or data science. That is actually an advantage for you. In a world where a JavaScript framework might have 10,000 contributors, a PE library might have 15. Your pull request will not disappear into a queue. The maintainer will read it. You will get feedback. Your name will show up in the contributor list of a project that your future colleagues actually use.
This article walks through five open-source projects where PE students can make meaningful contributions right now, ranked roughly from most accessible to most advanced.
Why Open-Source Contributions Matter for PE Careers
Before diving into the projects, it is worth understanding why this matters specifically for petroleum engineering careers in 2026.
The industry is becoming a software industry. Every major operator now has a data science team. Drilling optimization runs on machine learning models. Production surveillance platforms ingest real-time sensor data. Reservoir management workflows are increasingly automated. The PE graduates who thrive in this environment are the ones who can bridge domain knowledge and code.
Your coursework does not demonstrate this bridge. A homework assignment in MATLAB that solves the diffusivity equation is not the same as contributing to a production codebase. Coursework proves you can follow instructions. Open-source contributions prove you can work in a team, understand existing architecture, write tests, document your code, and communicate with other developers through pull requests and issues.
The PE open-source community is small and connected. If you contribute meaningfully to lasio or pyResToolbox, the maintainer knows you by name. At an SPE conference, that is an introduction. In an industry that still runs on relationships, this matters more than you might think.
AI is reshaping the PE toolchain. As AI assistants become standard tools for engineers, the infrastructure connecting AI to petroleum engineering data -- tools like MCP servers, API wrappers, and data parsers -- is being built right now. Students who contribute to these projects are not just building a portfolio; they are shaping the tools their generation will use.
1. lasio -- The Foundation of Well Log Data in Python
Repository: github.com/kinverarity1/lasio Stars: ~376 | License: MIT | Language: Python PyPI downloads: ~16,000/week
If you have ever worked with well log data in Python, you have used lasio or something built on top of it. The Log ASCII Standard (LAS) file format is the lingua franca of well log data -- it is how gamma ray, resistivity, neutron porosity, and density logs are stored and shared across the industry. lasio is the Python library that reads and writes these files, and it is by far the most widely adopted PE-specific Python package.
Created and maintained by Kent Inverarity, lasio handles the messy reality of LAS files: version 1.2 and 2.0 formats, wrapped and unwrapped data sections, missing value handling, header parsing quirks, and the inevitable encoding issues that come from files generated by logging tools across three decades of the format's existence. It is used by petrophysicists, data scientists, and reservoir engineers globally, and it underpins several larger open-source geoscience projects.
How to Get Started
lasio has a well-written contributing guide that walks you through setting up a development environment. The issue tracker on GitHub is active, and many issues are tagged in ways that help newcomers identify where they can help.
Contribution Ideas for Students
- Fix edge cases in LAS file parsing. The LAS format has been implemented inconsistently by different logging tools over the years. Users regularly file issues about files that fail to parse. Debugging these issues teaches you both the LAS spec and real-world data wrangling.
- Improve documentation and examples. Write a Jupyter notebook showing how to load, inspect, and plot a LAS file. Good documentation contributions are valued just as highly as code.
- Add test coverage. Find a function without full test coverage and write unit tests. This forces you to understand what the function does and how it handles edge cases.
- Help with LAS 3.0 support. The LAS 3.0 specification exists but is not widely adopted. Work on parsing support for the newer format.
What You Will Learn
Working on lasio teaches you file format parsing, string manipulation, NumPy array handling, pandas integration, unit testing with pytest, and how real-world data is far messier than textbook examples. These are directly transferable skills for any data engineering or petrophysics role.
2. pyResToolbox -- Reservoir Engineering Calculations You Actually Use
Repository: github.com/mwburgoyne/pyResToolbox License: GPL-3.0 | Language: Python Latest version: 2.x
If lasio is the foundation for well log data, pyResToolbox is the closest thing to a standard library for reservoir engineering calculations in Python. Created by Mark Burgoyne, it provides implementations of the PVT correlations, relative permeability models, material balance methods, decline curve analysis, and inflow performance relationships that you encounter in your reservoir engineering courses -- except in a form you can actually call from a script rather than looking up in a textbook table.
Version 2.x reorganized the library into separate modules (PVT, gas properties, relative permeability, etc.), which means the codebase is clean and navigable. For students, this is an ideal project because every function maps directly to something you have seen in class. When you implement a new PVT correlation in pyResToolbox, you are reinforcing your understanding of reservoir fluid behavior while simultaneously writing production-grade Python code.
An interesting development: a separate developer (Gabriel Serrao) recently built a Model Context Protocol server on top of pyResToolbox, allowing AI assistants to run reservoir engineering calculations through natural language. This is a concrete example of how PE open-source code is connecting to the AI ecosystem.
How to Get Started
Clone the repo, install in development mode, and run the existing test suite. Read through the module that aligns with whatever course you are currently taking -- if you are in reservoir fluids, start with the PVT module.
Contribution Ideas for Students
- Implement a correlation that is missing. Check your reservoir engineering textbook (Whitson, McCain, Danesh) for a PVT correlation that pyResToolbox does not yet include. Implement it with proper docstrings and unit tests.
- Add validation against published data. Many correlations have published accuracy comparisons against experimental data. Adding these benchmarks as tests strengthens the library's credibility.
- Write example notebooks. Show how to use pyResToolbox to solve a standard reservoir engineering problem -- bubble point pressure estimation, oil FVF calculation, or basic decline curve analysis.
- Improve type hints and documentation. The codebase can always benefit from better type annotations and clearer parameter descriptions.
What You Will Learn
Contributing to pyResToolbox forces you to understand reservoir engineering correlations at an implementation level, not just a formula level. You will learn numerical methods, curve fitting, unit conversion handling, and how to write scientific Python code that other engineers can trust.
3. welly -- Well Data Management Done Right
Repository: github.com/agilescientific/welly Stars: ~356 | License: Apache-2.0 | Language: Python
welly is a well data management library built by Agile Scientific (now Agile Geoscience), a geoscience consulting and software company that has been one of the most active contributors to the open-source geoscience ecosystem. Where lasio handles the low-level parsing of LAS files, welly provides higher-level abstractions: a Well object that bundles header information, log curves, location data, and stratigraphy into a single, coherent data structure. A Project object lets you manage collections of wells.
For students, welly sits at the intersection of data management and geoscience -- two areas where employers increasingly need capable engineers. The library handles log quality control, synthetic log generation, log display and visualization, and integration with other geoscience Python tools. It is part of the broader "Software Underground" community (softwareunderground.org), which is one of the most welcoming geoscience communities on the internet.
How to Get Started
welly has tutorials in the repository itself (the tutorial/ directory). Work through them to understand the data model. The project uses GitHub Issues for tracking bugs and feature requests, and Agile Scientific has a history of being responsive to new contributors.
Contribution Ideas for Students
- Add support for additional well data formats. Beyond LAS, the industry uses DLIS, WITSML, and various CSV conventions. Extending welly's import capabilities is a high-value contribution.
- Improve visualization defaults. Well log plots have standard conventions (logarithmic scales for resistivity, specific color fills for lithology). Improving the default plot styling makes the library more useful out of the box.
- Build a log quality control module. Automated QC checks -- null value detection, spike identification, depth consistency validation -- are useful features that map directly to skills employers want.
- Write integration examples. Show how welly works alongside other tools like lasio, striplog, or machine learning libraries for log prediction.
What You Will Learn
Working on welly teaches you object-oriented design in Python, data visualization with matplotlib, geoscience data standards, and how to build software that abstracts complexity for end users. These skills translate directly to roles in petrophysics, data science, and software development in the energy sector.
4. OPM Flow -- The Open-Source Reservoir Simulator
Repository: github.com/OPM/opm-simulators Stars: ~139 | Contributors: ~132 | License: GPL-3.0 | Language: C++ Website: opm-project.org
OPM Flow is the most ambitious open-source project in petroleum engineering. It is a fully implicit, black-oil reservoir simulator capable of running industry-standard simulation models -- the same types of models that companies run on commercial simulators like Eclipse (SLB) and CMG. Developed cooperatively by multiple industry partners and academic institutions, OPM Flow supports multi-segment wells, network modeling, gas lift optimization, CO2 sequestration, and thermal simulations.
This is not a student toy. OPM Flow is used in production settings, and a 2025 SPE paper documented lessons learned from using it on real asset models. The current release (2025.10) includes extensive documentation and a reference manual. For PE students, contributing to OPM Flow is a significant step up in complexity compared to the Python projects above, but the payoff is proportional: having "OPM Flow contributor" on your profile signals serious computational reservoir engineering capability.
How to Get Started
OPM Flow has a dedicated How to Contribute page. The project uses C++ and requires building from source, which means you will need familiarity with CMake, Linux development environments, and compiled languages. Start by building the project, running the test suite, and reading through the codebase architecture.
Contribution Ideas for Students
- Run validation cases. OPM Flow includes a test suite based on standard benchmark problems (SPE comparative solution projects, Norne field model). Running and documenting validation results is a valuable contribution that deepens your understanding of reservoir simulation.
- Improve documentation. The simulation manual is extensive but can always benefit from clearer explanations, worked examples, and troubleshooting guides.
- Add post-processing scripts. Write Python scripts that read OPM Flow output files and generate standard reservoir engineering plots (production profiles, pressure maps, water cut curves).
- Work on CO2 storage modeling. Active development focus is on CO2 sequestration -- this is both a contribution opportunity and a way to learn about one of the fastest-growing subsurface applications.
What You Will Learn
OPM Flow exposes you to numerical methods for PDEs, sparse linear algebra, parallel computing, and C++ software engineering at scale. These are the skills behind every commercial reservoir simulator, and understanding them gives you an edge that very few PE graduates have. If you are considering graduate school or a career in reservoir simulation, this is the project to contribute to.
5. petro-mcp -- Connecting Petroleum Engineering to AI
Repository: github.com/petropt/petro-mcp License: MIT | Language: Python Built by: Groundwork Analytics
petro-mcp is a Model Context Protocol (MCP) server that gives AI assistants -- Claude, Cursor, and other MCP-compatible tools -- access to petroleum engineering data and workflows. It parses LAS well logs, queries production data, fits decline curves, calculates EUR, and runs nodal analysis, all through natural language. Instead of writing a Python script to load a LAS file and fit an Arps decline curve, you ask your AI assistant to do it, and petro-mcp handles the engineering computation behind the scenes.
This is a different kind of PE project than the others on this list. It sits at the intersection of two trends that are reshaping the industry: the adoption of AI assistants as engineering tools, and the emergence of MCP as the open standard for connecting AI to external data sources. As of early 2026, the petroleum engineering MCP ecosystem is still nascent -- only a handful of energy-related MCP servers exist. That is exactly why contributing now matters. The tooling that connects AI to PE workflows is being built in real time, and the engineers who build it will understand the AI-augmented PE workflow better than anyone.
petro-mcp includes 9 tools, 2 resources, and 5 prompts, with a full test suite. It is built on Python 3.10+ and uses standard PE libraries under the hood.
How to Get Started
Install from source, configure it with Claude Desktop or Cursor (instructions are in the README), and run the test suite. Try using it through an AI assistant to understand how the tools work from the user's perspective before diving into the code.
Contribution Ideas for Students
- Add new PE tools. Implement a new engineering calculation -- Vogel IPR, Hall plot analysis, skin factor estimation, water injection diagnostics -- as an MCP tool. Each tool needs a clear schema, input validation, and tests.
- Expand well log analysis capabilities. The current LAS parser covers core functionality. Adding log normalization, multi-well cross-plotting, or facies classification would extend its usefulness.
- Build example prompts. MCP prompts are pre-built workflows that guide the AI through multi-step analyses. Write prompts for common PE workflows: "Analyze this well's decline and estimate remaining reserves" or "Compare production across these leases."
- Improve error handling and edge cases. Test with different LAS file versions, unusual production data formats, and adversarial inputs. Robust error messages make the tool usable in real engineering settings.
What You Will Learn
Contributing to petro-mcp teaches you the MCP protocol (an increasingly important standard in the AI ecosystem), API design, schema definition, input validation, and how to bridge domain engineering with AI infrastructure. These are skills that barely existed two years ago and are now in high demand across every technical industry.
How to Write a Good First Pull Request
Contributing to any of these projects follows the same basic workflow. Here is how to make your first contribution count.
1. Start by using the project. Before you contribute code, be a user. Install the library. Work through the tutorials. Use it on real data -- your class projects are perfect for this. You need to understand how the project works before you can improve it.
2. Read the contributing guide. Every well-run project has one. It tells you how to set up the development environment, how to run tests, and what the maintainer expects from pull requests. Follow it exactly.
3. Start small. Your first PR should not be a major new feature. Fix a typo in the docs. Add a missing unit test. Improve an error message. These are low-risk contributions that get you familiar with the submission process and build trust with the maintainer.
4. Write tests for your code. If you add a function, add a test that proves it works. If you fix a bug, add a test that reproduces the bug and verifies the fix. Untested code is untrustworthy code.
5. Write a clear PR description. Explain what you changed and why. Link to the issue you are addressing. Include before/after examples if relevant. A well-written PR description shows the maintainer that you are thoughtful and professional.
6. Be patient and responsive. Maintainers are volunteers. They may take a week to review your PR. When they leave comments, respond promptly and incorporate feedback. This is a professional interaction, and how you handle feedback matters.
Discovering More Projects: awesome-reservoir-engineering
The five projects above are where I would start, but the PE open-source ecosystem is broader than this list. The awesome-reservoir-engineering repository on GitHub is a curated list of tools, libraries, and datasets that make reservoir engineers' lives easier. It includes links to simulation tools like MRST (MATLAB Reservoir Simulation Toolbox), data format libraries like dlisio (Equinor's DLIS file reader), pore-scale simulation tools like porespy, and open datasets including the Norne field model and Unisim reservoir simulation datasets.
Browse the list. Find a project that aligns with your interests and your coursework. Star it. Clone it. Use it. Then contribute to it.
The GitHub Topics pages for petroleum-engineering, reservoir-engineering, and petroleum are also worth exploring. New projects appear regularly, and many of them are in early stages where a single contributor can make a meaningful impact.
The Bigger Picture
The petroleum engineering industry is going through a generational shift. The engineers who built their careers on spreadsheets and commercial software are retiring. The engineers replacing them are expected to work with Python, cloud platforms, machine learning models, and AI assistants. Open-source contributions are how you demonstrate that you are part of the second group.
But beyond career strategy, there is something more fundamental at play. The PE open-source community is small, and it needs contributors. Every one of these projects is maintained by a handful of people, often in their spare time. When you fix a bug in lasio, you are helping every petrophysicist who loads a LAS file in Python. When you add a correlation to pyResToolbox, you are saving another engineer from looking it up in a textbook and implementing it from scratch. When you contribute to OPM Flow, you are helping keep an open-source alternative alive in a market dominated by expensive commercial simulators.
That is what open source is about. You learn by contributing. You build a portfolio that proves your skills. And you make the tools better for everyone who comes after you.
Pick a project. Clone the repo. Write your first pull request.
Dr. Mehrdad Shirangi is the founder of Groundwork Analytics and holds a PhD from Stanford University in Energy Systems Optimization. He has been building AI solutions for the energy industry since 2018. Connect on X/Twitter and LinkedIn, or reach out at info@petropt.com.
Related Articles
- Python for Petroleum Engineering Data -- A hands-on tutorial for working with LAS files, production data, and decline curves in Python.
- The Petroleum Engineering Skills Gap -- Why the skills you build through open-source contributions are exactly what operators need.
- MCP Servers for Oilfield Data -- The MCP protocol and petro-mcp project in detail.
Looking for O&G Jobs?
Petro-Jobs uses AI to match your resume to 79+ curated oil & gas positions.
Try Petro-JobsHave questions about this topic? Get in touch.