DEV Community

Dharmendra Kushwaha
Dharmendra Kushwaha

Posted on

Want to Contribute to Open Source? Join Me in Building 8DoTs

Did you know that the software we write has a real-world carbon footprint?

As developers, we constantly profile our code for execution time and memory usage. But energy consumption remains largely invisible. That’s exactly what I’m trying to change with my open-source project, 8DoTs.

What is 8DoTs?

8DoTs (internally structured as the dol8 Python package) is a command-line profiling tool designed to make energy consumption visible during software development.

It reads hardware energy counters (RAPL - Running Average Power Limit) and thermal sensors directly from the Linux kernel to provide repeatable, high-resolution estimates of:

  • How much energy a specific workload consumes
  • How much heat it generates
  • Whether it triggers thermal throttling

It’s built for bare-metal Linux environments (Intel/AMD CPUs) using Python 3.9+.


Why Contribute?

  • Make a Real Impact: Green software engineering is the future. Your contribution will help developers worldwide write more energy-efficient code.
  • Beginner-Friendly: Whether you’re a seasoned Python developer or looking for your very first open-source PR, there’s a place for you here.
  • Learn Low-Level Linux Concepts: Get hands-on experience with hardware counters, thermal sensors, and system-level profiling.

Where You Can Help Right Now

I’m actively looking for contributors to help tackle the following areas:

  1. Expand Hardware Support: Help add support for additional thermal sensor families or battery APIs.
  2. Improve Data Export: Enhance the granularity and usability of the CSV timeline exports.
  3. Enhance Real-Time Profiling: Improve the watch mode for better real-time process estimation.
  4. Documentation & Tutorials: Write guides, blog posts, or case studies demonstrating how to optimize energy in real-world applications. (Perfect for beginners!)

Check out the open issues here: github.com/uyg7x/8DoTs/issues


How to Get Started

  1. Star the repo to show your support: github.com/uyg7x/8DoTs ⭐
  2. Fork and Clone the repository to your local machine.
  3. Check the README.md for setup instructions and hardware requirements.
  4. Pick an issue that interests you, leave a comment saying you’re working on it, and submit a PR!

Note: Since 8DoTs relies on physical hardware counters, actual profiling requires bare-metal Linux. However, you can still run the test suite and contribute to the codebase/docs from Windows/WSL or macOS!


Let’s Connect!

Have a question? Want to brainstorm a new feature? Drop a comment below, open a discussion on GitHub, or reach out to me directly.

Let’s build more sustainable software, together! 🌍💚


If you found this interesting, please **like* and repost to help me reach more potential contributors!*

Top comments (0)