# Algebraic Equations with SymPy
[Introduction](#introduction) | [Output Formatting](#controlling-the-format-of-interactive-outputs)
| [Installation](#setupinstallation) |
[Try Live](#try-in-binder) | [Issues or Comments](#issues-or-comments) |
[Change Log](#change-log) |
[License](#licensed-under-gnu-v3-licensehttpsgnuorglicenses)
| [GIT Repository](https://github.com/gutow/Algebra_with_Sympy)
| [PyPi Link](https://pypi.org/project/Algebra-with-SymPy/)
## [Website/Documentation (including API)](https://gutow.github.io/Algebra_with_Sympy/)
## Introduction
This tool defines relations that all high school and college students would
recognize as mathematical equations.
They consist of a left hand side (lhs) and a right hand side (rhs) connected by
the relation operator "=". In addition, it sets some convenient defaults and
provides some useful controls of output formatting that may be useful even if
you do not use the `Equation` class (see [Conveniences for
SymPy](#convenience-tools-and-defaults-for-interactive-use-of-sympy)).
This tool applies operations to both sides of the equation simultaneously, just
as students are taught to do when
attempting to isolate (solve for) a variable. Thus the statement `Equation/b`
yields a new equation `Equation.lhs/b = Equation.rhs/b`
The intent is to allow using the mathematical tools in SymPy to rearrange
equations and perform algebra
in a stepwise fashion using as close to standard mathematical notation as
possible. In this way more people can successfully perform
algebraic rearrangements without stumbling
over missed details such as a negative sign.
A simple example as it would appear in a [Jupyter](https://jupyter.org)
notebook is shown immediately below:
![screenshot of simple example](https://gutow.github.io/Algebra_with_Sympy/resources/simple_example.png)
The last cell illustrates how it is possible to substitute numbers with
units into the solved equation to calculate a numerical solution with
proper units. The `units(...)` operation is part this package, not Sympy.
In IPython environments (IPython and Jupyter) there is also a shorthand
syntax for entering equations provided through the IPython preparser. An
equation can be specified as `eq1 =@ a/b = c/d`.
![screenshot of short syntax](https://gutow.github.io/Algebra_with_Sympy/resources/short_syntax.png)
If no Python name is
specified for the equation (no `eq_name` to the left of `=@`), the equation
will still be defined, but will not be easily accessible for further
computation. The `=@` symbol combination was chosen to avoid conflicts with
reserved python symbols while minimizing impacts on syntax highlighting
and autoformatting.
[More examples of the capabilities of Algebra with Sympy are
here](https://gutow.github.io/Algebra_with_Sympy/Demonstration%20of%20equation%20class.html).
Many math packages such as [SageMath](https://www.sagemath.org/)
and [Maxima](http://maxima.sourceforge.net/) have similar capabilities,
but require more knowledge of command syntax, plus they cannot easily be
installed in a generic python environment.
## Convenience Tools and Defaults for Interactive Use of SymPy
Even if you do not use the `Equation` class, there are some convenience
tools and defaults that will probably make interactive use of SymPy in
Jupyter/IPython environments easier:
* By default all numbers without decimal points are interpreted as integers.
One implication of this is that base ten fractions are exact (e.g. 2/3 ->
2/3 not 0.6666...). This can be turned off with `unset_integers_as_exact()`
and on with `set_integers_as_exact()`. When on the flag
`algwsym_config.numerics.integers_as_exact = True`.
* Results of `solve()` are wrapped in `FiniteSet()` to force pretty-printing
of all of a solution set. See [Controlling the Format of Interactive
Outputs](#controlling-the-format-of-interactive-outputs).
* It is possible to set the default display to show both the pretty-printed
result and the code version simultaneously. See [Controlling the Format of Interactive
Outputs](#controlling-the-format-of-interactive-outputs).
## Controlling the Format of Interactive Outputs
* These controls impact all Sympy objects and the `Equation` class.
* **In graphical environments (Jupyter)** you will get rendered Latex such as
$\frac{a}{b} = \frac{c}{d}$ or $e^{\frac{-x^2}{\sigma^2}}$. To also see the
code representation (what can be copied and pasted for
additional computation) set `algwsym_config.output.show_code = True`.
This will print the code version (e.g. `Equation(a,b/c)`) of equations
and sympy expression in addition to the human readable version. This code
version can be accessed directly by calling `repr()` on the
equation or expression.
* **In interactive text environments (IPython and command line)** The human
readable string version of Sympy expressions are returned (for `Equations` a
= b rather than Equation(a,b)). This is equivalent to Calling `print()`
or `str()` on an expression.
* To have the code version (can be copied and pasted as a
Python statement) returned, set `algwsym_config.output.human_text = False`.
* Setting both `algwsym_config.output.human_text = True`
and `algwsym_config.output.show_code = True`, will return both the
code and human readable versions.
* **The equation label** can be turned off by setting
`algwsym_config.output.label = False`.
* **Automatic wrapping of `Equations` as Latex equations** can be activated
by setting `algwsym_config.output.latex_as_equations` to `True`. The
default is `False`. Setting this to `True` wraps output as LaTex equations,
wrapping them in `\begin{equation}...\end{equation}`. Equations formatted
this way will **not** be labeled with the internal name for the equation,
independent of the setting of `algwsym_config.output.label`.
* By default **solutions output by `solve()`** are returned as a SymPy
`FiniteSet()` to force typesetting of the included solutions. To get Python
lists instead you can override this for the whole session by setting
`algwsym_config.output.solve_to_list = True`. For a one-off, simply
wrap the output of a solve in `list()` (e.g. `list(solve(...))`).
## Setup/Installation
1. Use pip to install in your python environment:
`pip install -U Algebra-with-SymPy`
2. To use in a running python session issue
the following command : `from algebra_with_sympy import *`.
This will also import the SymPy tools.
3. If you want to isolate this tool from the global namespace you are
working with change the import statement
to `import algebra_with_sympy as spa`, where
`spa` stands for "SymPy Algebra". Then all calls would be made to `
spa.funcname()`.
## Try in binder
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gutow/Algebra_with_Sympy.git/master/?filepath=Demonstration%20of%20equation%20class.ipynb)
## Issues or Comments
* Issues and bug reports should be [filed on
github](https://github.com/gutow/Algebra_with_Sympy/issues).
* Comments, questions, show and tell, etc. should go in the [project
discussions](https://github.com/gutow/Algebra_with_Sympy/discussions).
## Change Log
* 1.0.0 (January 2, 2024)
* Added convenience operation `units(...)` which takes a string of space
separated symbols to use as units. This simply declares the symbols
to be positive, making them behave as units. This does not create units
that know about conversions, prefixes or systems of units. This lack
is on purpose to provide units that require the user to worry about
conversions (ideal in a teaching situation). To get units with built-in
conversions see `sympy.physics.units`.
* Fixed issue #23 where `cos()` multiplied by a factor was not the same
type of object after `simplify()` acted on an expression. Required
embedding the `Equation` type in the sympy library. Until `Equation` is
incorporated into the primary Sympy repository a customized version of
the latest stable release will be used.
* Fixed issue where trailing comments (ie. `# a comment` at the end of a
line) lead to input errors using compact `=@` notation.
* `algwsym_config.output.latex_as_equations` has a default value of `False`.
Setting this to `True` wraps output as LaTex equations wrapping them
in `\begin{equation}...\end{equation}`. Equations formatted this way
will not be labeled with the internal name for the equation.
* 0.12.0 (July 12, 2023)
* Now defaults to interpreting numbers without decimal points as integers.
This can be turned off with `unset_integers_as_exact()` and on with
`set_integers_as_exact()`. When on the flag
`algwsym_config.numerics.integers_as_exact = True`.
* 0.11.0 (June 5, 2023)
* Formatting of `FiniteSets` overridden so that the contents always
pretty-print. This removes the necessity of special flags to get
pretty output from `solve`.
* Sympy `solve()` now works reliably with equations and outputs
pretty-printed solutions.
* Added option `algwsym_config.output.solve_to_list = True` which causes
`solve()` to return solutions sets as Python lists. Using this option
prevents pretty-printing of the solutions produced by `solve()`.
* `algwsym_config.output.show_code` and
`algwsym_config.output.human_text` now work for all sympy objects, not
just `Equation` objects. This works
in terminal, IPython terminal and Jupyter. This is achieved by hooking
into the python `display_hook` and IPython `display_formatter`.
* Added jupyter to requirements.txt so that virtual environment builds
will include jupyter.
* The way `__version__` was handled could break pip install. Changed to
generating the internal version during setup. This means the version
is now available as `algwsym_version`.
* 0.10.0 (Sep. 5, 2022)
* Documentation updates and fixes.
* Significantly increased test coverage (~98%).
* Support for `Eqn.rewrite(Add)`
* Solving (e.g. `solve(Eqn,x)`) now supported fully. Still experimental.
* Bug fix: latex printing now supports custom printer.
* Substitution into an Equation using Equations is now
supported (e.g. `eq1.subs(eq2, eq3, ...)`).
* `algebra_with_sympy.__version__` is now available for version checking
within python.
* Bug fix: preparsing for `=@` syntax no longer blocks `obj?` syntax for
getting docstrings in ipython.
* More robust determination of equation names for labeling.
* 0.9.4 (Aug. 11, 2022)
* Update to deal with new Sympy function `piecewise_exclusive` in v1.11.
* Added user warning if a function does not extend for use with `Equations`
as expected. This also allows the package to be used even when a function
extension does fail.
* Simplification of documentation preparation.
* Typo fixes in preparser error messages.
* 0.9.3 (Aug. 9, 2022)
* Added check for new enough version of IPython to use the preparser.
* If IPython version too old, issue warning and do not accept `=@` shorthand.
* 0.9.2 (Jun. 5, 2022)
* `=@` shorthand syntax for defining equations in IPython compatible
environments.
* Fixed bug where `root()` override called `sqrt()` on bare expressions.
* 0.9.1 (Mar. 24, 2022)
* Equations labeled with their python name, if they have one.
* Added flags to adjust human readable output and equation labeling.
* Accept equation as function argument in any position.
* First pass at `solve()` accepting equations.
* Added override of `root()` to avoid warning messages.
* More unit tests.
* First pass at documentation.
* 0.9.0 functionality equivalent to extension of SymPy in
[PR#21333](https://github.com/sympy/sympy/pull/21333).
## [licensed under GNU V3 license](https://gnu.org/licenses)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Copyright - Algebra with Sympy Contributors 2021, 2022, 2023
Raw data
{
"_id": null,
"home_page": "https://gutow.github.io/Algebra_with_Sympy/",
"name": "Algebra-with-SymPy",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "symbolic algebra,computer algebra,CAS,calculations with units,sympy",
"author": "Jonathan Gutow",
"author_email": "gutow@uwosh.edu",
"download_url": "https://files.pythonhosted.org/packages/2a/a3/67340eb92f3dc8ad789ef5d0bce8bf4dfd8e676624e6cf98b11d6358da6b/Algebra_with_SymPy-1.0.0.tar.gz",
"platform": null,
"description": "# Algebraic Equations with SymPy\n\n[Introduction](#introduction) | [Output Formatting](#controlling-the-format-of-interactive-outputs)\n| [Installation](#setupinstallation) |\n[Try Live](#try-in-binder) | [Issues or Comments](#issues-or-comments) |\n[Change Log](#change-log) |\n[License](#licensed-under-gnu-v3-licensehttpsgnuorglicenses)\n| [GIT Repository](https://github.com/gutow/Algebra_with_Sympy)\n| [PyPi Link](https://pypi.org/project/Algebra-with-SymPy/)\n\n## [Website/Documentation (including API)](https://gutow.github.io/Algebra_with_Sympy/)\n\n## Introduction\n\nThis tool defines relations that all high school and college students would\nrecognize as mathematical equations. \nThey consist of a left hand side (lhs) and a right hand side (rhs) connected by\nthe relation operator \"=\". In addition, it sets some convenient defaults and \nprovides some useful controls of output formatting that may be useful even if\nyou do not use the `Equation` class (see [Conveniences for\nSymPy](#convenience-tools-and-defaults-for-interactive-use-of-sympy)).\n\nThis tool applies operations to both sides of the equation simultaneously, just\nas students are taught to do when \nattempting to isolate (solve for) a variable. Thus the statement `Equation/b`\nyields a new equation `Equation.lhs/b = Equation.rhs/b`\n\nThe intent is to allow using the mathematical tools in SymPy to rearrange\nequations and perform algebra\nin a stepwise fashion using as close to standard mathematical notation as \npossible. In this way more people can successfully perform \nalgebraic rearrangements without stumbling\nover missed details such as a negative sign.\n\nA simple example as it would appear in a [Jupyter](https://jupyter.org) \nnotebook is shown immediately below:\n\n![screenshot of simple example](https://gutow.github.io/Algebra_with_Sympy/resources/simple_example.png)\n\nThe last cell illustrates how it is possible to substitute numbers with \nunits into the solved equation to calculate a numerical solution with \nproper units. The `units(...)` operation is part this package, not Sympy.\n\nIn IPython environments (IPython and Jupyter) there is also a shorthand \nsyntax for entering equations provided through the IPython preparser. An \nequation can be specified as `eq1 =@ a/b = c/d`.\n\n\n![screenshot of short syntax](https://gutow.github.io/Algebra_with_Sympy/resources/short_syntax.png)\n\nIf no Python name is \nspecified for the equation (no `eq_name` to the left of `=@`), the equation \nwill still be defined, but will not be easily accessible for further \ncomputation. The `=@` symbol combination was chosen to avoid conflicts with \nreserved python symbols while minimizing impacts on syntax highlighting \nand autoformatting.\n\n[More examples of the capabilities of Algebra with Sympy are \nhere](https://gutow.github.io/Algebra_with_Sympy/Demonstration%20of%20equation%20class.html).\n\nMany math packages such as [SageMath](https://www.sagemath.org/) \nand [Maxima](http://maxima.sourceforge.net/) have similar capabilities, \nbut require more knowledge of command syntax, plus they cannot easily be \ninstalled in a generic python environment.\n\n## Convenience Tools and Defaults for Interactive Use of SymPy\n\nEven if you do not use the `Equation` class, there are some convenience \ntools and defaults that will probably make interactive use of SymPy in \nJupyter/IPython environments easier:\n\n* By default all numbers without decimal points are interpreted as integers. \n One implication of this is that base ten fractions are exact (e.g. 2/3 -> \n 2/3 not 0.6666...). This can be turned off with `unset_integers_as_exact()`\n and on with `set_integers_as_exact()`. When on the flag\n `algwsym_config.numerics.integers_as_exact = True`.\n* Results of `solve()` are wrapped in `FiniteSet()` to force pretty-printing \n of all of a solution set. See [Controlling the Format of Interactive \n Outputs](#controlling-the-format-of-interactive-outputs).\n* It is possible to set the default display to show both the pretty-printed \n result and the code version simultaneously. See [Controlling the Format of Interactive \n Outputs](#controlling-the-format-of-interactive-outputs). \n\n## Controlling the Format of Interactive Outputs\n* These controls impact all Sympy objects and the `Equation` class.\n* **In graphical environments (Jupyter)** you will get rendered Latex such as \n$\\frac{a}{b} = \\frac{c}{d}$ or $e^{\\frac{-x^2}{\\sigma^2}}$. To also see the \n code representation (what can be copied and pasted for \n additional computation) set `algwsym_config.output.show_code = True`. \n This will print the code version (e.g. `Equation(a,b/c)`) of equations \n and sympy expression in addition to the human readable version. This code \n version can be accessed directly by calling `repr()` on the \n equation or expression.\n\n* **In interactive text environments (IPython and command line)** The human \n readable string version of Sympy expressions are returned (for `Equations` a \n = b rather than Equation(a,b)). This is equivalent to Calling `print()` \n or `str()` on an expression. \n * To have the code version (can be copied and pasted as a \n Python statement) returned, set `algwsym_config.output.human_text = False`.\n * Setting both `algwsym_config.output.human_text = True`\n and `algwsym_config.output.show_code = True`, will return both the \n code and human readable versions.\n\n* **The equation label** can be turned off by setting\n `algwsym_config.output.label = False`.\n\n* **Automatic wrapping of `Equations` as Latex equations** can be activated \n by setting `algwsym_config.output.latex_as_equations` to `True`. The \n default is `False`. Setting this to `True` wraps output as LaTex equations,\n wrapping them in `\\begin{equation}...\\end{equation}`. Equations formatted \n this way will **not** be labeled with the internal name for the equation, \n independent of the setting of `algwsym_config.output.label`.\n\n* By default **solutions output by `solve()`** are returned as a SymPy \n `FiniteSet()` to force typesetting of the included solutions. To get Python \n lists instead you can override this for the whole session by setting\n `algwsym_config.output.solve_to_list = True`. For a one-off, simply \n wrap the output of a solve in `list()` (e.g. `list(solve(...))`).\n\n## Setup/Installation\n\n1. Use pip to install in your python environment: \n`pip install -U Algebra-with-SymPy`\n2. To use in a running python session issue\nthe following command : `from algebra_with_sympy import *`. \nThis will also import the SymPy tools. \n3. If you want to isolate this tool from the global namespace you are \n working with change the import statement \nto `import algebra_with_sympy as spa`, where \n`spa` stands for \"SymPy Algebra\". Then all calls would be made to `\nspa.funcname()`.\n\n## Try in binder\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gutow/Algebra_with_Sympy.git/master/?filepath=Demonstration%20of%20equation%20class.ipynb)\n\n## Issues or Comments\n\n* Issues and bug reports should be [filed on \ngithub](https://github.com/gutow/Algebra_with_Sympy/issues).\n* Comments, questions, show and tell, etc. should go in the [project \n discussions](https://github.com/gutow/Algebra_with_Sympy/discussions).\n\n## Change Log\n\n* 1.0.0 (January 2, 2024)\n * Added convenience operation `units(...)` which takes a string of space \n separated symbols to use as units. This simply declares the symbols \n to be positive, making them behave as units. This does not create units \n that know about conversions, prefixes or systems of units. This lack \n is on purpose to provide units that require the user to worry about \n conversions (ideal in a teaching situation). To get units with built-in \n conversions see `sympy.physics.units`.\n * Fixed issue #23 where `cos()` multiplied by a factor was not the same \n type of object after `simplify()` acted on an expression. Required \n embedding the `Equation` type in the sympy library. Until `Equation` is \n incorporated into the primary Sympy repository a customized version of \n the latest stable release will be used.\n * Fixed issue where trailing comments (ie. `# a comment` at the end of a \n line) lead to input errors using compact `=@` notation.\n * `algwsym_config.output.latex_as_equations` has a default value of `False`.\n Setting this to `True` wraps output as LaTex equations wrapping them \n in `\\begin{equation}...\\end{equation}`. Equations formatted this way \n will not be labeled with the internal name for the equation.\n* 0.12.0 (July 12, 2023)\n * Now defaults to interpreting numbers without decimal points as integers. \n This can be turned off with `unset_integers_as_exact()` and on with\n `set_integers_as_exact()`. When on the flag\n `algwsym_config.numerics.integers_as_exact = True`.\n* 0.11.0 (June 5, 2023)\n * Formatting of `FiniteSets` overridden so that the contents always\n pretty-print. This removes the necessity of special flags to get \n pretty output from `solve`.\n * Sympy `solve()` now works reliably with equations and outputs \n pretty-printed solutions.\n * Added option `algwsym_config.output.solve_to_list = True` which causes \n `solve()` to return solutions sets as Python lists. Using this option \n prevents pretty-printing of the solutions produced by `solve()`.\n * `algwsym_config.output.show_code` and \n `algwsym_config.output.human_text` now work for all sympy objects, not \n just `Equation` objects. This works\n in terminal, IPython terminal and Jupyter. This is achieved by hooking \n into the python `display_hook` and IPython `display_formatter`.\n * Added jupyter to requirements.txt so that virtual environment builds\n will include jupyter.\n * The way `__version__` was handled could break pip install. Changed to\n generating the internal version during setup. This means the version\n is now available as `algwsym_version`.\n* 0.10.0 (Sep. 5, 2022)\n * Documentation updates and fixes.\n * Significantly increased test coverage (~98%).\n * Support for `Eqn.rewrite(Add)`\n * Solving (e.g. `solve(Eqn,x)`) now supported fully. Still experimental.\n * Bug fix: latex printing now supports custom printer.\n * Substitution into an Equation using Equations is now \n supported (e.g. `eq1.subs(eq2, eq3, ...)`).\n * `algebra_with_sympy.__version__` is now available for version checking \n within python.\n * Bug fix: preparsing for `=@` syntax no longer blocks `obj?` syntax for \n getting docstrings in ipython.\n * More robust determination of equation names for labeling.\n* 0.9.4 (Aug. 11, 2022)\n * Update to deal with new Sympy function `piecewise_exclusive` in v1.11.\n * Added user warning if a function does not extend for use with `Equations` \n as expected. This also allows the package to be used even when a function \n extension does fail.\n * Simplification of documentation preparation.\n * Typo fixes in preparser error messages.\n* 0.9.3 (Aug. 9, 2022)\n * Added check for new enough version of IPython to use the preparser.\n * If IPython version too old, issue warning and do not accept `=@` shorthand.\n* 0.9.2 (Jun. 5, 2022)\n * `=@` shorthand syntax for defining equations in IPython compatible \n environments.\n * Fixed bug where `root()` override called `sqrt()` on bare expressions.\n* 0.9.1 (Mar. 24, 2022)\n * Equations labeled with their python name, if they have one.\n * Added flags to adjust human readable output and equation labeling.\n * Accept equation as function argument in any position.\n * First pass at `solve()` accepting equations.\n * Added override of `root()` to avoid warning messages.\n * More unit tests.\n * First pass at documentation.\n* 0.9.0 functionality equivalent to extension of SymPy in\n[PR#21333](https://github.com/sympy/sympy/pull/21333).\n\n## [licensed under GNU V3 license](https://gnu.org/licenses)\n\nThis program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\nCopyright - Algebra with Sympy Contributors 2021, 2022, 2023\n",
"bugtrack_url": null,
"license": "GPL-3.0+",
"summary": "Equations that can be algebraicly manipulated.",
"version": "1.0.0",
"project_urls": {
"Homepage": "https://gutow.github.io/Algebra_with_Sympy/"
},
"split_keywords": [
"symbolic algebra",
"computer algebra",
"cas",
"calculations with units",
"sympy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "210598db5b75f33b20431a2ef0c3e4d4cd80a844653efb16fe2df67b30fbd687",
"md5": "0940950a4b22fc1bf273a3103e42aa95",
"sha256": "89b449e9dc7284aecca386da3849ba04be83d444bb82b4cd766066ca2e0c2873"
},
"downloads": -1,
"filename": "Algebra_with_SymPy-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0940950a4b22fc1bf273a3103e42aa95",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 43989,
"upload_time": "2024-01-03T02:00:32",
"upload_time_iso_8601": "2024-01-03T02:00:32.879479Z",
"url": "https://files.pythonhosted.org/packages/21/05/98db5b75f33b20431a2ef0c3e4d4cd80a844653efb16fe2df67b30fbd687/Algebra_with_SymPy-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2aa367340eb92f3dc8ad789ef5d0bce8bf4dfd8e676624e6cf98b11d6358da6b",
"md5": "1b05e901cc551b5d7f23af055dd89669",
"sha256": "5f5672a1230702836f482f432ecc46b29ed0fba340ea6bf5bbaf34a2e52f0c8e"
},
"downloads": -1,
"filename": "Algebra_with_SymPy-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "1b05e901cc551b5d7f23af055dd89669",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 33306,
"upload_time": "2024-01-03T02:00:36",
"upload_time_iso_8601": "2024-01-03T02:00:36.075461Z",
"url": "https://files.pythonhosted.org/packages/2a/a3/67340eb92f3dc8ad789ef5d0bce8bf4dfd8e676624e6cf98b11d6358da6b/Algebra_with_SymPy-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-03 02:00:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "algebra-with-sympy"
}