Skip to main content

Practical chemistry calculations and data handling framework

Project description

Practical Chemistry Framework (pchem-framework) 🔬🧪

PyPI Version Python Versions License: MIT Documentation Status

An open-source Python framework for practical chemistry calculations, data analysis, and visualization. Designed for students, educators, and researchers.

Titration Curve Example

Table of Contents

Key Features 🚀

Chemical Calculations

  • Stoichiometry: Limiting reactant analysis, yield calculations
  • Solution Chemistry: Molarity <-> molality conversions, dilution calculations
  • Acid-Base Chemistry: pH calculations for strong/weak acids/bases, buffers
  • Thermodynamics: Enthalpy, entropy, and Gibbs free energy calculations

Data Handling & Visualization

  • File I/O: CSV, JSON, and text file support with pandas integration
  • Unit Conversion: Robust dimensional analysis with Pint library
  • Data Analysis: Statistical functions and linear regression
  • Plotting: Publication-ready graphs for kinetics and titration curves

Installation ⚙️

# Stable version
pip install pchem-framework

# Development version
pip install git+https://github.com/somkietacode/pchem-framework.git

Requirements: Python 3.8+ with NumPy, Pandas, Matplotlib, and Pint

Quick Start 🏁

Basic Calculations

from pchem_framework.calculations import molar_mass, ph

# Calculate molar mass of H2SO4
atomic_weights = {'H': 1.008, 'S': 32.07, 'O': 16.00}
print(molar_mass.calculate_molar_mass('H2SO4', atomic_weights))  # Output: 98.086 g/mol

# Calculate buffer pH (Henderson-Hasselbalch)
print(ph.buffer_ph(0.1, 0.2, 4.76))  # Output: 5.06

Data Analysis Workflow

from pchem_framework.data_handling import file_io, plotting

# Load experimental data
kinetic_data = file_io.read_csv("kinetic_data.csv")

# Generate concentration-time plot
fig = plotting.plot_concentration_vs_time(
    kinetic_data['time'], 
    kinetic_data['concentration'],
    title="First-Order Reaction Kinetics"
)
fig.savefig("kinetics_plot.png")

Core Functionality 📚

Calculations Module

from pchem_framework.calculations import (
    molar_mass,       # Formula parsing and MW calculations
    stoichiometry,    # Reaction balancing and yield predictions
    concentration,    # Solution preparation calculations
    ph,               # Acid-base equilibrium calculations
    kinetics,         # Reaction rate analysis
    thermodynamics    # Energy calculations
)

Data Handling Module

from pchem_framework.data_handling import (
    file_io,          # Unified data import/export
    unit_conversion,  # Dimensional analysis
    data_analysis,    # Statistical methods
    plotting          # Scientific visualization
)

Documentation 📖

Explore detailed guides and tutorials in our documentation:

Contributing 🤝

We welcome contributions! Please see our:

To report bugs or request features:

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Support ☕

If you find this project useful, please consider:

  • Starring the Repository
  • Citing us in your publications:
    @software{pchem_framework,
      title={Practical Chemistry Framework},
      author={Your Name},
      year={2024},
      publisher={GitHub},
      journal={GitHub repository},
      howpublished={\url{https://github.com/your-username/pchem-framework}}
    }
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pchem_framework-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pchem_framework-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file pchem_framework-0.1.0.tar.gz.

File metadata

  • Download URL: pchem_framework-0.1.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.0

File hashes

Hashes for pchem_framework-0.1.0.tar.gz
Algorithm Hash digest
SHA256 203687b495b238cd6b8457cce92052b3879dc3e176a79b297e562f1b71af2f44
MD5 650282bb7ebc2c4a4b2c63d4a058ef60
BLAKE2b-256 93efa086862d4694285fa13551800a236d3caebd6ad1a721c06381d9e7ca461e

See more details on using hashes here.

File details

Details for the file pchem_framework-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pchem_framework-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91efdf1d15addf5b099730ac9aa19b5f291429ebe2e1b2e31ae472e3fc07bf90
MD5 3eff80816b7c2fc0ce85ab3567d40572
BLAKE2b-256 5eab1646459a38211996b8e38a7e24a1fd54ab7401f48d0cf22a2864c4984a39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page