Symbolic computations.
Project description
symba
In what follows python
is an alias for python3.5
or pypy3.5
or any later version (python3.6
, pypy3.6
and so on).
Installation
Install the latest pip
& setuptools
packages versions
python -m pip install --upgrade pip setuptools
User
Download and install the latest stable version from PyPI
repository
python -m pip install --upgrade symba
Developer
Download the latest version from GitHub
repository
git clone https://github.com/lycantropos/symba.git
cd symba
Install dependencies
python -m pip install -r requirements.txt
Install
python setup.py install
Usage
>>> from symba.base import Expression, sqrt
>>> golden_ratio = (1 + sqrt(5)) / 2
>>> isinstance(golden_ratio, Expression)
True
>>> golden_ratio * golden_ratio == golden_ratio + 1
True
>>> 1 / golden_ratio == golden_ratio - 1
True
>>> def fibonacci(index: int) -> Expression:
... """
... Based on:
... https://en.wikipedia.org/wiki/Golden_ratio#Relationship_to_Fibonacci_sequence
... """
... golden_ratio_power = golden_ratio ** index
... return ((golden_ratio_power - (-1) ** index / golden_ratio_power)
... / sqrt(5))
>>> fibonacci(0) == 0
True
>>> fibonacci(1) == 1
True
>>> fibonacci(100) == 354224848179261915075
True
Development
Bumping version
Preparation
Install bump2version.
Pre-release
Choose which version number category to bump following semver specification.
Test bumping version
bump2version --dry-run --verbose $CATEGORY
where $CATEGORY
is the target version number category name, possible
values are patch
/minor
/major
.
Bump version
bump2version --verbose $CATEGORY
This will set version to major.minor.patch-alpha
.
Release
Test bumping version
bump2version --dry-run --verbose release
Bump version
bump2version --verbose release
This will set version to major.minor.patch
.
Running tests
Install dependencies
python -m pip install -r requirements-tests.txt
Plain
pytest
Inside Docker
container:
- with
CPython
docker-compose --file docker-compose.cpython.yml up
- with
PyPy
docker-compose --file docker-compose.pypy.yml up
Bash
script (e.g. can be used in Git
hooks):
-
with
CPython
./run-tests.sh
or
./run-tests.sh cpython
-
with
PyPy
./run-tests.sh pypy
PowerShell
script (e.g. can be used in Git
hooks):
- with
CPython
.\run-tests.ps1
or.\run-tests.ps1 cpython
- with
PyPy
.\run-tests.ps1 pypy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for symba-0.7.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a03ccf9f3558ad3b8f1d4df9e471082ca661d334deae8364644e5c0ef45ec84f |
|
MD5 | 9b2836af512d27a1bc7e3a89a3b4cbe8 |
|
BLAKE2b-256 | fd1ea213e077092d3fc0b2e111900d6345026276678587e0711120d19d9827fc |
Hashes for symba-0.7.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7db32ea6bd040255455a0d605e2142f67a2ec04f728a31f2fe332575829a9fd0 |
|
MD5 | 36f8fda81f396227456ea76a5b0402f0 |
|
BLAKE2b-256 | 7766ee132278ef1cf0ef6aa48c4887179907f7cc276859d23345f6d520bd0e64 |
Hashes for symba-0.7.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ed2a3d4f52b4b731c377341044d0f87057b793051a932029d5c06b64eec2c5d |
|
MD5 | 995026a20ac8e5524bdc26f4c0004b9c |
|
BLAKE2b-256 | 4ff3e3a729705af61a69f86518fa0e97e2b3de1f221cc9fe841d1bf4f1294a03 |
Hashes for symba-0.7.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2c0caa261c8b485bc37a81224b2dd72019dbe8a6069dff6cd77ea3799abc266 |
|
MD5 | d1f22c11c1808156738377b9367b3e8e |
|
BLAKE2b-256 | f8403ffebb3a23032da08f2adb7eb359608c03497aef8cf0f7f4e98166cf5306 |
Hashes for symba-0.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38cd80edf5d2616cd28f5287edb7b25173f9361d83b49eb5524b054e5eac5fe7 |
|
MD5 | 824be82bf2662919e722ed81a1a4309d |
|
BLAKE2b-256 | 8c1cc94beaa121dd79ea9fbed5143ce1412dc6d8046a9c931a9129e23006fb71 |
Hashes for symba-0.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9618dce4309c6fb4b0745503a6b106f7553eeef6dd40002bf1c382fae8e609ff |
|
MD5 | 75755561037f2baa6fc3966f349d5fc6 |
|
BLAKE2b-256 | 5acedb2698d25c2a7429ac845ceb56ce6b7008ae5530443de9642bad9934c4d1 |
Hashes for symba-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47956a1ac4b4d50fa7da51a4c765af7367e80b86b26cb270da0e66c21ed1bf6f |
|
MD5 | 4af30a9f1e86dcd82827b6c93c06fadd |
|
BLAKE2b-256 | c883a16f3d79a3ff5320ec50e58eaab5e00b7e080f2b37c8c6e35776b824e00f |
Hashes for symba-0.7.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a403b44ae7ee58ea4c6eb45113c874af28ad2799ac5f5c385f555ea8347c2803 |
|
MD5 | 906d9c6e22c5ff9d0d704050b7c44d93 |
|
BLAKE2b-256 | 7f30e1b1586b2026758c84ab13c379ce9375f994316878208371b248e268126e |
Hashes for symba-0.7.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92b9c33778d2f5b35a45725f700cf0367d1cb492f987f9991a61c5bb36617ae1 |
|
MD5 | 5f48901852f93cddd3a817cceb2d30c4 |
|
BLAKE2b-256 | 57f4204be7d672a6835260d2eed5e36fbe849e0424a195b6280ae9435a666da4 |
Hashes for symba-0.7.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae885360c00ecf3e59a79659eaf29cb425d3aa6db94d93f0c5bae33269dfbd9b |
|
MD5 | 330bd4b6f1edb29b6a12ace96e92371b |
|
BLAKE2b-256 | 5c070b2f292c4200cbf0d2066205f63558e8714e86c70a5d4569fd1023f09c8d |
Hashes for symba-0.7.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00f95950e8afc05b800a55fcb78f3527fa45df45d9c90bb6f03a6051e06b3cc4 |
|
MD5 | d3a644c3e4d6a26dca9cd9afcdc72a12 |
|
BLAKE2b-256 | 722f8255da6bfa20b110de4b4808c206980015db80f7275de9fe1ab9cbe11f19 |
Hashes for symba-0.7.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6b9fbaaed37468b75bcdb5f50fb0c4b680093bf66692da0e5e790ba1a4fcf9d |
|
MD5 | 3c14d0c2c4b1bd1e407b8db8a4f25b3c |
|
BLAKE2b-256 | 4f7223b6b5881920ab4da2b696f29431fd4cf3063e38e87f5a927163031da0c2 |
Hashes for symba-0.7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d9624881def8a21e12669a60bddec6347bc939beb2c2849ed735901878926af |
|
MD5 | bd1fe2d92bcdab0481f2730ba60c17b1 |
|
BLAKE2b-256 | 5cb621e9b057884d1cfaa8c260f18b72c26fb7c4bb3a2a4a2f05219b009cc3fe |
Hashes for symba-0.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 510fd0748e404c4001a0907a5ea7ea7b0af3029989bf82dddf17f557239f7cd6 |
|
MD5 | 6b3bf6e2bea4a40720643cf29a98dc7e |
|
BLAKE2b-256 | fdab4a102399e0535abeb72597e4ef70d954df8e587c5fe0e6dc08b75b02e771 |
Hashes for symba-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1dcbc5e98edb280a66e00f80dff3b06e20604109ec0276ba2ad2a9028282ed4 |
|
MD5 | 474f638174dab3d0b48cd24edd039653 |
|
BLAKE2b-256 | f3c3cdc54d46779bb4034dfd6638ad991371d9cc72fb77d530d5e6ae63bdc0ef |
Hashes for symba-0.7.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fceeb0a7c064bd1cefad80b2aa85aa71b7cb50947b9ec4852384bd98ee99863f |
|
MD5 | 7e57fdeb7f29019a94eeded769c5625e |
|
BLAKE2b-256 | 5184caeb9d07ac6c2a960c94335b505ae7ed26f56cbc3eef64aa51cee6882862 |
Hashes for symba-0.7.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 325e585f8eeff2e776ff8bb0167fd4f2a8637adc551c0c0450ad2c0b22f4c069 |
|
MD5 | 5c6820c9a0252b597a1eb73c7d121835 |
|
BLAKE2b-256 | de298240b046343cc5c9ce3d97b239a6117f07e3816c6db64094ff10fe728ecf |
Hashes for symba-0.7.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0d4d4dad0f52b870aceac3d90c31f7d90ede15f864f0970effc59709a3fe073 |
|
MD5 | 1b0cd3f0c643d41ba51679c4922cf158 |
|
BLAKE2b-256 | 1761487d705b02676225f2b283c1a500e6b10bf858db2387a3faf20d6969f4a3 |
Hashes for symba-0.7.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3db964c45b3bca644f079e918b9032387cb2fdc4e612996f5aaa3b9aef1e4b5 |
|
MD5 | 6a7576faa6d753f2cda1c23fa04a9e33 |
|
BLAKE2b-256 | 1326e367d116bf50b02ba9d2ba8e41ddbffb4ccbcf8d7461a681bb7ec85b757f |
Hashes for symba-0.7.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 075cc0cdaba7b3cb07470c1539f14ff3a56fb3b153a12611868a525a8bdb628b |
|
MD5 | 1ac7bf98789c0f70881fac0795ae2ce4 |
|
BLAKE2b-256 | 126e14a91d11f8595d8e8cb9e428d0b45782bb1b54364f938f7aa11fa42b7e99 |
Hashes for symba-0.7.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd8a5621e632610da5dc0fda9101d3b891150f1be523484d104ca58f431041f8 |
|
MD5 | 059f23a39bb3f57b29b6d4bb9e7ea8f2 |
|
BLAKE2b-256 | ceb80784290787c7f68a269cfa7178b35e61bc79ae14f63796ac6c8381d516ab |
Hashes for symba-0.7.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cee3d632481f5053a0a2ee4be3eb17a669ea7d9793b03217fc151e88b3b02c0c |
|
MD5 | 89af6b2f8bdb3aaf2c26f9280b8b9a11 |
|
BLAKE2b-256 | cf9418fba6a525d08dd7b8072ee352f3bd70958a889516ee7b9304123281917e |
Hashes for symba-0.7.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daf533a432fca366a40d06433c24a2094c787c005d8d391fe859820f39d1b8c9 |
|
MD5 | 51da0b4ef419245a0175f722b4d69443 |
|
BLAKE2b-256 | 58db66ef1d6bfbfd72727e5fd9eded052a2eac5a9ce0eb44442f6f07c98d96d7 |
Hashes for symba-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 844af3384e4c9309b2ec9e86d795ce2e62a313962da6a8bedc2767234e4a003f |
|
MD5 | 7d597d4f7c68defe46be1d7b3f239027 |
|
BLAKE2b-256 | cee8b949ab0d49b92872411565bfaf46a594b43318b07bd51029678dcdfb91e6 |
Hashes for symba-0.7.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 045f6ab0b545e63ed1f93d100c6c4e4b5d8246ab1790f7a09f1cb4b61d9b928b |
|
MD5 | fd5c583111b9ccf43575317083fa2690 |
|
BLAKE2b-256 | 52787b9a10fe8407c49a02161d965fbd73aa4f838c8c1bdb06e67d5e9e0ce7ce |
Hashes for symba-0.7.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da3cb54516e81fdccaccd33b8fa258618675cbc2e099aaeab28120866ab3dea |
|
MD5 | 412dd0abfb33f41eaa3903ac8f60152d |
|
BLAKE2b-256 | f73e862d7b4568ba3b3f3bd64d348ea914b9f4f510c83ebd98ad5905d94bd6fb |
Hashes for symba-0.7.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b26ad04d24995c2c3f2af7f3c050ee2320b78bdfcd7f13b3eb31cadd3042eda1 |
|
MD5 | 9f95e1dc14de7926b09f1460e02b1276 |
|
BLAKE2b-256 | a581f8e984d2f779ace4bf027ef4ae5d40a2b70971a320dd22b3487842a4cda3 |
Hashes for symba-0.7.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ead82a89ac0f6dd82194c8b4cdca8e046b8f382d737c15cebe1a1cefc6ab01ac |
|
MD5 | 2af2df419dd6ca7903f101ff4c6960e7 |
|
BLAKE2b-256 | 11a5d1f5a8f5c485a40e8d773d3daa22ae6577587f63975c6e4f933836041139 |
Hashes for symba-0.7.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 254df7666a9bae6fafffb1f958061023a9f9126a028137ec7e8c42a42bf25028 |
|
MD5 | 294d30b5447469867e715e20131f8a45 |
|
BLAKE2b-256 | 14d84fec82083f1d992be3d00aab492c5d0c8a81d6ac4c778e69a055a88b4809 |
Hashes for symba-0.7.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 999bdcf4d229c918cff26e314521710bc03f9a2e08c432338e598fbd12f4e155 |
|
MD5 | 4c519ee91ccb3a10f159a4ac99311dc4 |
|
BLAKE2b-256 | f5bc17b2aed6c067f36e7ff755dfefb3888b380a8402fe81a126fbe273d7e303 |
Hashes for symba-0.7.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed46c4e86dd37e73629a8290209747f6bb13f14571aef7112b482e041d93e4a0 |
|
MD5 | 48b9f002c7f287b26ede855947136740 |
|
BLAKE2b-256 | f14f07989e0892136627091e31231f459406b4a8ab21df963d7a9327b5e177d0 |
Hashes for symba-0.7.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a295756b71a6cfd07fdc3fa1efa13d15e403ad3cbbcc9eb967ffba69a3d2fd |
|
MD5 | c6535807233125665e742cc53b641a41 |
|
BLAKE2b-256 | 538408d2aa1179d39794270f098e8b089891a79cd757d3350ab9f1cce1bcce63 |
Hashes for symba-0.7.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ec48cb3e56e63841d5aacf43a35281adcfe1d902cd259005b4674d5d9fb0838 |
|
MD5 | 722dfaa0f2e9e5c6e95b0135c11c4449 |
|
BLAKE2b-256 | 44070fbd7d2422490a7905613e445183edbf341b0a9f0e32c88b3e775de27bc2 |
Hashes for symba-0.7.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1da98f57fb6bdd268efcc2823ac28992c9a5f8ab03338ea9a7cdf8b573ceec67 |
|
MD5 | b478108d192e33db754170a9b0e67a08 |
|
BLAKE2b-256 | 31ba67654253ef1b651f37f5369a2b18c66b85a9e8f559cb222d7f0c886d0b67 |
Hashes for symba-0.7.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01827423951a6e3ea89b6e1d0e3516554edfa331f1ee520747c870b55c693988 |
|
MD5 | bf5a4714bd109aed7830218954ae38f5 |
|
BLAKE2b-256 | c3fddbafeddb70cffa0681e3d99f552e085f155acc898e32ea5292ccea1b691c |
Hashes for symba-0.7.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e69744f88111a5a0fbd28d42d0501e81cf8fe8dc28d554c166c6efbca48c0a6 |
|
MD5 | 5742a82866ffaaccb1bf6529a1759251 |
|
BLAKE2b-256 | 0c90316e066c7e613ee0c6934709c4a70b85dbc94167df0c987788eaaaf2e9f1 |
Hashes for symba-0.7.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41c89fca6bd7b705c5bbc14ad90c819de90cca418e1191d21bd0ddf63ba0e3eb |
|
MD5 | 7481aa6c7755442ad5fc4a7b2e41e9b0 |
|
BLAKE2b-256 | f45a00a7e1d2914d3d3f837f0dc00424040b3bf1fd7e134da38786d0328edbc9 |
Hashes for symba-0.7.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5600af1b1cd70a93306f116f7dd8b6775c5f610358482df0c2966b35ab0c65a3 |
|
MD5 | 2a4bfd674111ea7f9a0847e0ef26f88b |
|
BLAKE2b-256 | 0625c8a7c5e8b7f5e9bc8d8314a381158732ba4fd369e46ea79760455cb0f950 |
Hashes for symba-0.7.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f901b6b356b54f99b1a70eaf39fde048cfde34ef93225ab8440eb56fd68f935a |
|
MD5 | 43b1c7665697558319787a0076630e52 |
|
BLAKE2b-256 | 99251d5e37352605ad37bd3706052e554444b5fc081b1738771648dd4bbd8be7 |