Skip to main content

A low-level chemistry library for solving and practicing chemistry problems.

Project description

Chemsolve

PyPI version Downloads License: MIT Travis (.com) Latest Commit

Chemsolve is a library for solving and practicing chemistry problems. It's made to have easy usability while still retaining a powerful engine with functionality allowing it to tackle more complicated problems. It was designed as a tool for lower-level chemistry and problem solving as opposed to a materials science or higher-level chemistry library.

Installation

Chemsolve currently runs on Python 3.6 or higher. You can install it from PyPi via pip:

pip install chemsolve

if you want to install it directly from this repository:

git clone https://github.com/amogh7joshi/chemsolve.git
cd chemsolve
python setup.py install

Then execute:

# Install system requirements.
python3 -m pip install -r requirements.txt 

# Try it out
cd tests
python3 elementtest.py

Chemsolve uses the chempy and periodictable libraries.

Using Chemsolve

Chemsolve relies heavily on class framework with classes representing chemical objects: elements, compounds, reactions.

Classes

Examples

Examples for all of the implemented structures can be found in /examples:

  1. The Element Class and usage.
  2. The Compound Class and usage.
  3. The Reaction Class and usage.

In this example, we will use the Reaction class.

Import the required module(s):

from chemsolve import Compound, Reaction

Create the Necessary Object and its Object parameters:

# Compounds which will be reacted.
r1 = Compound("NH3", grams = 5.00)
r2 = Compound("O2", grams = 3.46)
p1 = Compound("NO2")
p2 = Compound("H2O")
reaction = Reaction(r1, r2, "-->", p1, p2)

From here, you can access the object's attributes.

print(reaction.balanced_reaction)
print(reaction.limiting_reactant)

For further reference, please visit /examples.

License

All code in this library is avaliable under the MIT License.

Issues

If you notice an issues or bugs with the library, please feel free to create an issue. Make sure to follow the issue guidelines.

Contributions

Contributions are always welcome, and feel free to contribute to the library. Please make sure to follow the pull request guidelines.

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

chemsolve-1.4.2.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

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

chemsolve-1.4.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file chemsolve-1.4.2.tar.gz.

File metadata

  • Download URL: chemsolve-1.4.2.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.3

File hashes

Hashes for chemsolve-1.4.2.tar.gz
Algorithm Hash digest
SHA256 c4386df5be07eca3f48880536d2c1519f1084ab43037b0be436d2d397b72db46
MD5 332a6b82ded7a5b1add9473998507194
BLAKE2b-256 26900edf462b8717065c584f5f4d779a5092f223df82e75f71f8aea66ffe5db7

See more details on using hashes here.

File details

Details for the file chemsolve-1.4.2-py3-none-any.whl.

File metadata

  • Download URL: chemsolve-1.4.2-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.3

File hashes

Hashes for chemsolve-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3a315dc92d60320f425e442e7005db6215793fc1a70f4f05b8247cef140e76c2
MD5 6cf1a476438b004edfd9baad048b0a43
BLAKE2b-256 b6ce5a9c544e95ba5353b8260f6c5f739b4bc679a0a03b0a6f5e4b21e2c6f7e6

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