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.6.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce03b6d1c7e24ab5577086d410d5238a453cc9b7820d0238907b09636143656b |
|
MD5 | a19e796efd53c2ae99610cfe1cddba90 |
|
BLAKE2b-256 | 224093abe90e39821dccb549a71ee697aae060144d737074bec8b9644828d1f9 |
Hashes for symba-0.6.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bd5b410af8174594e405f7c53181a10752cdf05221b1385e9d375dd97e34405 |
|
MD5 | 622daf035eacd6b00f99e402104b7589 |
|
BLAKE2b-256 | 261534f44359b53d22e30c6a11ccf6f0b9580849495fa086e197a72aa5dc194c |
Hashes for symba-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d81597a4481ada02e1296e4097ff74925cbb2fb9e5ef49396c44c2b1e544faf |
|
MD5 | 97bfbd2f2b14abb354ddc60a58d75424 |
|
BLAKE2b-256 | 9a84bc8dd4a16aeb582e44fb1a8a05b69d4221e6741877a349484da2965aafdd |
Hashes for symba-0.6.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f87c6255b7ce493485b23935233f3eb613b1920b9be7e68bdbac15605072b58f |
|
MD5 | 92326e396e499efc21439079ca5e6bda |
|
BLAKE2b-256 | f0e4d64d5bce3f896ca10a3c6be0ec7d46d9593f62ac2d3df92aff2be8706d15 |
Hashes for symba-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c19c310d29d5c68176aa3aba681b1bd2d79565e7d5a658ac05a5f1b398040c6 |
|
MD5 | a2c58da1d8e8d4ed94bbe6bd9ddc7c99 |
|
BLAKE2b-256 | b58476fe02c76b52c7b7677f7a745145ed7d790efd212a59e8d8f09b4815b013 |
Hashes for symba-0.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9149be6c2217c523d91e9a21bf33588dc87e3c04540d476058a072b96bffa7cd |
|
MD5 | f95096f4b9c1fe80d5358ee5c43a28fd |
|
BLAKE2b-256 | 6b5b50d3d7d41d13e89de1dcd39f0fffd383e1d9b295ee2fb103126266fea003 |
Hashes for symba-0.6.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99b44d57037c5818ab8e6c2b5408dde2f56050fb1923eadac150ed600fc2f8e6 |
|
MD5 | c264d1f62ae25806d812263a2a24975c |
|
BLAKE2b-256 | a8533f419df7c054ceecef57b8bb7c9dc0d14a0da5d1ab8ada3598aa1c6bf863 |
Hashes for symba-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 610b7562433569648e9b3ab38b0ad26a359d3d94e3d5b10f491e2649dc2c4dda |
|
MD5 | 6bf6789e6728c7270bfc9845febfd040 |
|
BLAKE2b-256 | 6927160a552ef36e5e5b351390cd708ce5f01af72087c414ab23944bafc4f98e |
Hashes for symba-0.6.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ae96cdcb2811edc5eaf09856b6dd5351488d0b54b152a72dbbe822efcd550a7 |
|
MD5 | f4c7b463bb7eb0a3338ca91b05a3907b |
|
BLAKE2b-256 | f0d4507254547af6b1ab152435154113c796cb8809b36be7439966ec68d69c9a |
Hashes for symba-0.6.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 263e363b5ad0a12bd85d044cc9df357d8a0d2822c1bfa1797378f87671805b2d |
|
MD5 | 3aedc6fa6215a70d191a5df0ed0dcdd6 |
|
BLAKE2b-256 | a131560b45842b05b3fac44f7fad5c33ebd1db85c4f359e018f07c27ad3eef4a |
Hashes for symba-0.6.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b427019051b6d8ab13802ad265a253a870206cebecafe514455bb1b0f3dee57 |
|
MD5 | 17982c0de46bacc53f0a2a7001353f77 |
|
BLAKE2b-256 | 85c5d8c130c1510f2f819f1ae72ae04d61c8ee370c9cb402c7f9b219281d4381 |
Hashes for symba-0.6.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a21ac49ca409dba5228f6fa3bbc7a7b5f5f317cd883e22645fbd325b1d41de3 |
|
MD5 | c9890c7229ee58cab56c3736cdcbcbff |
|
BLAKE2b-256 | 3e44ebe3c0a60992bbff5a5c76c14470825e3b40a4d8d147c2eab408206d13e3 |
Hashes for symba-0.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c22cf1e6071af027493a01ba29108a0eb29e8f9c71b4f283ca30438bebd1980 |
|
MD5 | d01978d34f9805f6fd44d9f85d38f60b |
|
BLAKE2b-256 | 5a8d4d0406fc5ea5cdf3106bc4f6815b0745a35d8cde1404aea5bb95c6480f36 |
Hashes for symba-0.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d896e8c622770e5e1f4feee915f05e25ee80c9fe8429d17bf70bcad5926b0a7 |
|
MD5 | a7964e6f8b6e02b8221fe3759de113ba |
|
BLAKE2b-256 | a08640f9e045575082be099319ba4edd2f33006babe2b31142e54430f4eba589 |
Hashes for symba-0.6.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e5677c3008dbfbbbfecb4db0d4558fcb730e942084b7583f799b025ea21875a |
|
MD5 | ecdcbdf701f08c3caa32e2a15b368ab5 |
|
BLAKE2b-256 | 11578dfbfa6b5abc5e10f9c1748798695a4fae181511109b0a6c1486c948c64f |
Hashes for symba-0.6.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1b77d34a8e558d3cd050539d556f1ed994ee30f23628b1552d0dbb890b78a9 |
|
MD5 | d64d2e9de27ca7f7b7b464e2daa08831 |
|
BLAKE2b-256 | 41fc264ea3fc0e60e2257f9e412a43663fa0c4779a3d8631ba8313c047de2773 |
Hashes for symba-0.6.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c3f0ae53019f1405ddb34a23ffd375de1f5a93d1d18025cabcfa56f95fea570 |
|
MD5 | e3d52a2708c83bcc128dfde94ee832f3 |
|
BLAKE2b-256 | eb18c22cc35308e80acaca7cb58a55379b28cf39b75cbcf2aed3c400863169ce |
Hashes for symba-0.6.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c57606f4e87398c69f210832c9c46988d89c1fe8c5dc07474da152ed8f68144 |
|
MD5 | 644ac1a12ed5eb4771ab0e0fd34d5179 |
|
BLAKE2b-256 | a2b546f725a853412f3f9d637c935f9fb363e92e229a06608cf3317c02a7926f |
Hashes for symba-0.6.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9f27828fca75338322682e8b99f11d25cadbe0d623775f0ede340bd94ec6230 |
|
MD5 | 7f6cc0b09c0f3ab7cc1fef9f52180922 |
|
BLAKE2b-256 | 89af00a9ae615fa60dba8167695df7d665ff018343fee8cc774517ab6ee95c04 |
Hashes for symba-0.6.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46482e36998eed0e34eb6773fd3ca2ff36e8b93833719a5c396f9ff795898171 |
|
MD5 | 877e4306a2e5f814ed6a9f6324351a33 |
|
BLAKE2b-256 | 809363f37a96b5348283d194219fbe9b5eacff08472baca5c230cf853bc07fe7 |
Hashes for symba-0.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e15ed208314e9c380a81ec1783898d24da8f41ed90574623c90e1622955c3e7 |
|
MD5 | 9539e3700d481ebccfb1aea30dbfc927 |
|
BLAKE2b-256 | c16ce4b7aabb344437882dff8810ca9b70362dcf06e92759bd75519b0696d8c7 |
Hashes for symba-0.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2258c83a1e97a0279ffe12e39d83b76ccfc20414e24752b0a74d0261eee60191 |
|
MD5 | 77ebc498dbb66dc8a478d93faa1a6f69 |
|
BLAKE2b-256 | 453fb702dbdccc6a41315522049473520b32c94f2544ada3e6477c0d29babbd0 |
Hashes for symba-0.6.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d27db3cb549340191894e7ab9d78b3700e9a17d7e5a6787b3fb8afbdb9a4195 |
|
MD5 | 0d182dff07d4507bb64ff80cb5492b7e |
|
BLAKE2b-256 | 604283fce28e871f811d841846b911760700c4529269f02fceb7a6726ee709bb |
Hashes for symba-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 891fe8f8c89fc7be88d92bdfe2f96501bd12e4bddf986663a5c5045d353080cd |
|
MD5 | 0cf9b07ef1cefca94f16ce77a9f7a035 |
|
BLAKE2b-256 | ac458db7848e1004159058df4885656a6d4fa5f5a39a779b52dc67a1c0cc9958 |
Hashes for symba-0.6.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad77787fbb47dc80499c36b61e6384172a2ec2ecf1a5569a5d6edba81bdf916e |
|
MD5 | 357f7223f10734cbe2e7feaa866b0f97 |
|
BLAKE2b-256 | 990a223307de52af23200319dac4a0ca2f1460ecc8debc598489503ee471e53f |
Hashes for symba-0.6.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f436d882390d8ec51a1ca0b2415894c1b2e502523f452566e60cc80029ada94b |
|
MD5 | 757642e7f81f9ae1b3afa99b3e00ff36 |
|
BLAKE2b-256 | dcb9fcacf590dc9ff6477afc33792c4e3077cfa5224ba4b00bac0e0261612e0d |
Hashes for symba-0.6.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb300b81b0ec017e05a830fb7c15b25a1f52f776088653ba27b154f7b4d2a2cc |
|
MD5 | 94555fc139becbc69a3165cdeb5824f2 |
|
BLAKE2b-256 | b22ecb39275e1da1c0d8a8bfc0c1d3a8beae4f612aef27757e1ead0b16884c86 |
Hashes for symba-0.6.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 791666a85c8b710a7cdf36a90ad4c43df286a14b3f1dc50a389e21113d70c42b |
|
MD5 | c919e310839017b6119fbde0bd40ebbe |
|
BLAKE2b-256 | a82465e1fabeb8b4b2ac3bd18e943bb0a2082d37b6273895b8b3e59922cd775b |
Hashes for symba-0.6.1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5ac9984fc24b8c5225c57b692ab8bb3e9adbb6438f89c6e92144f5d9de55fe2 |
|
MD5 | efa3827ff25805498a0d58c63f80d628 |
|
BLAKE2b-256 | bd373ba16937451fc1caa2947b89dc8e8c241d27b9fa2a1900d911608c29ae1c |
Hashes for symba-0.6.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e84d84aeed5884711b0957e7f7a4e20cd89c57c20c2d47675aff629de0caaab |
|
MD5 | 479a7737e627d59718e2a676c271b481 |
|
BLAKE2b-256 | 81b4fcef83e732a80750c0c7a4a98070043ef528b9c211a23b2884951cf60d5c |
Hashes for symba-0.6.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95e52120af76a8a37329509689213f078e87c1b3151f49e1f6abb87fc840a6b6 |
|
MD5 | 44e5d71ca5ca1813c9c3359906b0c0a3 |
|
BLAKE2b-256 | 404778c9997656374472c34db4c76b397941f105169ee042d879e9ff5eacba28 |
Hashes for symba-0.6.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22893135d623d33cfa3420135c186d19fe97f6a9b4614512340db56d29a640a5 |
|
MD5 | 1ba31cb8deee6a68563f9c981c21dad1 |
|
BLAKE2b-256 | e6233191e94100a564368181d9dc4bf84c015e1350bb6ef0e8ce292476e40f29 |
Hashes for symba-0.6.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7f87d5fd71d33079d1276adca25d180b540bbd7b266ebab1fac422f110b9d54 |
|
MD5 | 13c2aa869288096222e000bdb4bb8120 |
|
BLAKE2b-256 | 7806a01957fb125d8321945f9e5829a65f7a53cc43b7a90996657a0f318e2713 |
Hashes for symba-0.6.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e9603bfb5f5ae38b589858a545b6283726e2c3d18bb11ec10609c9c980aeb7e |
|
MD5 | f46382b051fc3a108fbb08ffded2713b |
|
BLAKE2b-256 | 2f346750e7e00f5c8c2e471647a62af46819cc841fd2888cd07b80e6fb8842c2 |
Hashes for symba-0.6.1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1c1fab77ebfd9638007f4ce88d28fb54b238bdedf54b647510d469258ef076 |
|
MD5 | 3aef215e146f08b73dcf210898b24972 |
|
BLAKE2b-256 | 46ae3c174814e75d50ce95403f28988c73f59caeb0f2dcf0abdae01e6f28635a |
Hashes for symba-0.6.1-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eed9271ae947828c6962de5a4a26e8506197cec925a3a889860f78dfcf67086e |
|
MD5 | 8c0588138697a4d590ae3e1b51806fdc |
|
BLAKE2b-256 | bceee12982e55bf1bf1a0123aed3ebeba865f7dd3860786388856b10ec75ecac |
Hashes for symba-0.6.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f9220acc4c26d3b01e46c31daec611f9067b1cf8873a91f785ebafa03488ff |
|
MD5 | 802790cdffab88ed9460d12e2c77625a |
|
BLAKE2b-256 | 3636ecec5e392a86ba49fc856072a1e19a9d3f59e11739e0aca2286bd6bd270a |
Hashes for symba-0.6.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 226737534d228173ddd3f936fcef4a4fda8c33a92b0ce944cf559b1de2d61b72 |
|
MD5 | d3544d469c4dc01053c6a0e6e39c8757 |
|
BLAKE2b-256 | 08764a522ba00887c6dd98cb7ab60a25f58f1838fe00e94a0a2c8abc6c5d6fd0 |
Hashes for symba-0.6.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00619ae85f13043eba4122cc87474360e82a163732176887bfe065bd4ef6be4e |
|
MD5 | 692ba58aa25be8a0706877fa82f075ea |
|
BLAKE2b-256 | 8a8fd79d6efc0c2e0f8bea2509ccaab22fa787c61b9e4cdc06d3496ff03784d7 |