Package capable of balance chemical equations and contains the most used portion of the periodic table of elements.
The package has two objects: **chemeq** and **periodic_table**.
### 1. chemeq
  CLASS, Receives a string representing a chemical equation as input.
  In the shape: "reactant_1 + ... + reactant_n = product_1 + ... + product_n".
  The **chemeq CLASS** has three properties and one method.
   **is_balanced** : Property. Boolean (True or False)
   **reactants**  : Property. pandas.DtataFrame where each row represents one of the reactants (left side)
         compounds, molecular weights and elements.
   **products**   : Property. pandas.DtataFrame where each row represents one of the product (right side)
         compounds, molecular weights and elements.
   **balance()**   : Method. Balances the equation if it is unbalanced.
### 2. periodic_table
  pandas.DataFrame containing a portion of the periodic table of elements contains: Z, name, symbol, atomic mass,
  atomic mass error, period, group & state.
  Source for the periodic table of elements:
  IUPAC - International Union of Pure and Applied Chemistry
  https://iupac.org/what-we-do/periodic-table-of-elements/
## LIMITATIONS
- Does not include Rare earths, synthetic elements, Radon, Francium & Radium.
- Intermediate prefixes like those from hydrates such as Cu(SO4)•5H2O
  must be represented with subindexes like Cu(SO4)(H2O)5.
## EXAMPLES
```
>>> from chemeq import chemeq
>>> eq = chemeq("C2H5(OH) + O2 = CO2 + H2O")
>>> eq.is_balanced
False
```
The balance status of the equation is also visible in the equation object itself.
```
>>> eq
<Unbalanced equation: "C2H5(OH) + O2 = CO2 + H2O">
```
To balance the equation invoke the balance() method
```
>>> eq.balance()
>>> eq.is_balanced
True
>>> eq
<Balanced equation: "C2H5(OH) + 3O2 = 2CO2 + 3H2O">
```
Example of its properties
```
>>> str(eq)
"C2H5(OH) + 3O2 = 2CO2 + 3H2O"
>>> eq.reactants
coefficient formula C H O Mass(g/mol)
0 1 C2H5(OH) 2 6 1 46.069
1 3 O2 0 0 2 31.998
>>> eq.products
coefficient formula C H O Mass(g/mol)
0 2 CO2 1 0 2 44.009
1 3 H2O 0 2 1 18.015</pre>
```
An equation can be created with their indexes to test if it is balanced. If it is not it can be balanced later.
```
>>> eq = chemeq("CuS + 8HNO3 = CuSO4 + 8NO2 + 4H2O")
>>> eq.is_balanced
True
>>> eq = chemeq("73CuS + 73HNO3 = 11CuSO4 + 11NO2 + 11H2O")
>>> eq.is_balanced
False
>>> eq.balance()
>>> eq
<Balanced equation: "CuS + 8HNO3 = CuSO4 + 8NO2 + 4H2O">
```
```
>>> from chemeq import periodic_table
>>> periodic_table
name symbol atomic_weight error group period state
atomic_number
1 Hydrogen H 1.0080 0.0002 1 1 g
2 Helium He 4.0026 0.0001 18 1 g
3 Lithium Li 6.9400 0.0600 1 2 s
4 Beryllium Be 9.0122 0.0001 2 2 s
5 Boron B 10.8100 0.0200 13 2 s
... ... ... ... ... ... ... ...
79 Gold Au 196.9700 0.0100 11 6 s
80 Mercury Hg 200.5900 0.0100 12 6 l
81 Thallium Tl 204.3800 0.0100 13 6 s
82 Lead Pb 207.2000 1.1000 14 6 s
83 Bismuth Bi 208.9800 0.0100 15 6 s
[67 rows x 7 columns]
```
Raw data
{
"_id": null,
"home_page": "https://github.com/elbiop/chemeq",
"name": "chemeq",
"maintainer": "",
"docs_url": null,
"requires_python": ">= 3.6",
"maintainer_email": "",
"keywords": "chemistry,chemical,chemicals,equation,equations,balance,balancer,balancing,reaction,reactions,periodic table,elements",
"author": "Elbio Pe\u00f1a",
"author_email": "elbioemilio@outlook.es",
"download_url": "https://files.pythonhosted.org/packages/e0/aa/60b514f8c6051bf41afb0640f3abd155f4e4facd40624104872295e1327b/chemeq-0.1.7.tar.gz",
"platform": null,
"description": "\r\nPackage capable of balance chemical equations and contains the most used portion of the periodic table of elements. \r\nThe package has two objects: **chemeq** and **periodic_table**. \r\n\r\n### 1. chemeq \r\n  CLASS, Receives a string representing a chemical equation as input. \r\n  In the shape: \"reactant_1 + ... + reactant_n = product_1 + ... + product_n\". \r\n\r\n  The **chemeq CLASS** has three properties and one method. \r\n\r\n   **is_balanced** : Property. Boolean (True or False) \r\n   **reactants**  : Property. pandas.DtataFrame where each row represents one of the reactants (left side) \r\n         compounds, molecular weights and elements. \r\n   **products**   : Property. pandas.DtataFrame where each row represents one of the product (right side) \r\n         compounds, molecular weights and elements. \r\n   **balance()**   : Method. Balances the equation if it is unbalanced. \r\n\r\n\r\n### 2. periodic_table \r\n  pandas.DataFrame containing a portion of the periodic table of elements contains: Z, name, symbol, atomic mass, \r\n  atomic mass error, period, group & state. \r\n\r\n  Source for the periodic table of elements: \r\n  IUPAC - International Union of Pure and Applied Chemistry \r\n  https://iupac.org/what-we-do/periodic-table-of-elements/ \r\n\r\n## LIMITATIONS \r\n- Does not include Rare earths, synthetic elements, Radon, Francium & Radium. \r\n- Intermediate prefixes like those from hydrates such as Cu(SO4)\u00e2\u20ac\u00a25H2O \r\n  must be represented with subindexes like Cu(SO4)(H2O)5. \r\n\r\n## EXAMPLES \r\n```\r\n >>> from chemeq import chemeq\r\n >>> eq = chemeq(\"C2H5(OH) + O2 = CO2 + H2O\")\r\n >>> eq.is_balanced\r\n False\r\n```\r\n The balance status of the equation is also visible in the equation object itself.\r\n```\r\n >>> eq\r\n <Unbalanced equation: \"C2H5(OH) + O2 = CO2 + H2O\">\r\n```\r\n To balance the equation invoke the balance() method\r\n```\r\n>>> eq.balance()\r\n >>> eq.is_balanced\r\n True\r\n >>> eq\r\n <Balanced equation: \"C2H5(OH) + 3O2 = 2CO2 + 3H2O\">\r\n```\r\nExample of its properties\r\n```\r\n >>> str(eq)\r\n \"C2H5(OH) + 3O2 = 2CO2 + 3H2O\"\r\n >>> eq.reactants\r\n coefficient formula C H O Mass(g/mol)\r\n 0 1 C2H5(OH) 2 6 1 46.069\r\n 1 3 O2 0 0 2 31.998\r\n >>> eq.products\r\n coefficient formula C H O Mass(g/mol)\r\n 0 2 CO2 1 0 2 44.009\r\n 1 3 H2O 0 2 1 18.015</pre>\r\n```\r\n\r\n An equation can be created with their indexes to test if it is balanced. If it is not it can be balanced later.\r\n```\r\n>>> eq = chemeq(\"CuS + 8HNO3 = CuSO4 + 8NO2 + 4H2O\")\r\n >>> eq.is_balanced\r\n True\r\n >>> eq = chemeq(\"73CuS + 73HNO3 = 11CuSO4 + 11NO2 + 11H2O\")\r\n >>> eq.is_balanced\r\n False\r\n >>> eq.balance()\r\n >>> eq\r\n<Balanced equation: \"CuS + 8HNO3 = CuSO4 + 8NO2 + 4H2O\">\r\n```\r\n```\r\n >>> from chemeq import periodic_table\r\n >>> periodic_table\r\n name symbol atomic_weight error group period state\r\n atomic_number\r\n 1 Hydrogen H 1.0080 0.0002 1 1 g\r\n 2 Helium He 4.0026 0.0001 18 1 g\r\n 3 Lithium Li 6.9400 0.0600 1 2 s\r\n 4 Beryllium Be 9.0122 0.0001 2 2 s\r\n 5 Boron B 10.8100 0.0200 13 2 s\r\n ... ... ... ... ... ... ... ...\r\n 79 Gold Au 196.9700 0.0100 11 6 s\r\n 80 Mercury Hg 200.5900 0.0100 12 6 l\r\n 81 Thallium Tl 204.3800 0.0100 13 6 s\r\n 82 Lead Pb 207.2000 1.1000 14 6 s\r\n 83 Bismuth Bi 208.9800 0.0100 15 6 s\r\n [67 rows x 7 columns]\r\n```\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Balance chemical equations & calculates molecular weights plus periodic table of elements",
"version": "0.1.7",
"split_keywords": [
"chemistry",
"chemical",
"chemicals",
"equation",
"equations",
"balance",
"balancer",
"balancing",
"reaction",
"reactions",
"periodic table",
"elements"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ead89b74c29a3a5774ae4b58e82d8d1a787a129d10c632b1349eb3da277e919d",
"md5": "a03a0ba8afb673afcc09fabb3b316c33",
"sha256": "82de1938d358bd5f27742425ab16154834236bff6488ae5dee091e8fde631550"
},
"downloads": -1,
"filename": "chemeq-0.1.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a03a0ba8afb673afcc09fabb3b316c33",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">= 3.6",
"size": 12620,
"upload_time": "2023-04-18T09:42:36",
"upload_time_iso_8601": "2023-04-18T09:42:36.518153Z",
"url": "https://files.pythonhosted.org/packages/ea/d8/9b74c29a3a5774ae4b58e82d8d1a787a129d10c632b1349eb3da277e919d/chemeq-0.1.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0aa60b514f8c6051bf41afb0640f3abd155f4e4facd40624104872295e1327b",
"md5": "bc432f4fe1680e9ef1697c692a6929e1",
"sha256": "f26ddd238e90094d1c9279bdb920199c7e573cc19a4fa2414734459720dd5943"
},
"downloads": -1,
"filename": "chemeq-0.1.7.tar.gz",
"has_sig": false,
"md5_digest": "bc432f4fe1680e9ef1697c692a6929e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 3.6",
"size": 14017,
"upload_time": "2023-04-18T09:42:39",
"upload_time_iso_8601": "2023-04-18T09:42:39.270097Z",
"url": "https://files.pythonhosted.org/packages/e0/aa/60b514f8c6051bf41afb0640f3abd155f4e4facd40624104872295e1327b/chemeq-0.1.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-18 09:42:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "elbiop",
"github_project": "chemeq",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "chemeq"
}