summaryrefslogtreecommitdiff
path: root/python-pythagoras.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-pythagoras.spec')
-rw-r--r--python-pythagoras.spec448
1 files changed, 448 insertions, 0 deletions
diff --git a/python-pythagoras.spec b/python-pythagoras.spec
new file mode 100644
index 0000000..ad6d533
--- /dev/null
+++ b/python-pythagoras.spec
@@ -0,0 +1,448 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pythagoras
+Version: 0.4.6
+Release: 1
+Summary: Simple and inexpensive way to create, deploy and run cloud-scale algorithms from within local Python scripts and notebooks.
+License: MIT License
+URL: https://github.com/vladlpavlov/pythagoras
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/34/8e/2b499c29071bf8275591045bf0f65f94653228138a426510ddc71c8dbb7e/pythagoras-0.4.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-numpy
+Requires: python3-scipy
+Requires: python3-pandas
+Requires: python3-scikit-learn
+Requires: python3-jsonpickle
+Requires: python3-psutil
+Requires: python3-boto3
+Requires: python3-moto
+Requires: python3-pytest
+Requires: python3-hypothesis
+
+%description
+<div align="center">
+ <img src="http://vlpavlov.org/Pythagoras-Logo3.svg"><br>
+</div>
+
+# Pythagoras
+
+## (1) What Is It?
+
+An experimental framework that aims to democratize access to distributed serverless compute.
+We make it simple and inexpensive to create, deploy and run cloud-hosted massively parallel algorithms
+from within local Python scripts and notebooks. Pythagoras makes data scientists' lives easier,
+while allowing them to solve more complex problems in a shorter time with smaller budgets.
+
+## (2) What Is Inside?
+Pythagoras offers:
+1. a powerful abstraction model for a global-scale serverless compute engine;
+2. a simple API for Python programmers to use the engine;
+3. a collection of backends that implement the API for various deployment scenarios
+(*work in progress, currently only P2P backend is available*)
+4. a collection of massively parallel algorithms that take advantage of
+Pythagoras serverless compute engine (*planned*)
+
+### ((2.1)) Pythagoras Abstraction Model For Global Compute Engine
+
+Pythagoras offers a very powerful, yet simple abstraction model for a serverless compute engine.
+It contains three fundamental components:
+* Massively parallel serverless code executor for pure functions;
+* Global persistent store for immutable values with hash-based addressing scheme;
+* Global persistent cache for function execution outputs.
+
+This [overview](https://docs.google.com/document/d/1lgNOaRcZNGvW4wF894s7KmIWjhLX2cDVM_15a4lE02Y)
+provides detailed information about the abstraction model.
+
+### ((2.2)) Pythagoras API
+
+Pythagoras makes it very easy to scale computationally expensive code to the cloud,
+without a need to explicitly parallelize the code, to provision any infrastructure,
+or to orchestrate code deployment or execution.
+
+Data scientists can continue using their local workstations.
+They can keep working with their local Python scripts and Jupyter notebooks.
+They will need to add just a few extra lines to their existing code.
+After this change, computationally expensive parts of the local code will be
+automatically executed in the cloud on dozens (or even hundreds or thousands) servers,
+and the execution results will seamlessly get back to local workstations.
+
+This [introduction tutorial](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_introduction.ipynb)
+explains how to use the API.
+
+### ((2.3)) Pythagoras Backends
+Backends are seamlessly interchangeable.
+They differ by their under-the-hood implementations of deployment models and provisioning / orchestration algorithms.
+A collection of backends will offer engineers a wide variety of trade-offs that fit different use-cases.
+
+As of now, Pythagoras team has implemented a
+[P2P version](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_P2P_tutorial.ipynb)
+of the backend. It allows to parallelize program execution by simply launching the program simultaneously
+on a swarm of local computers (e.g. desktops and laptops in your office or dormitory).
+
+The Pythagoras team is currently working on a reference implementation for AWS-based backend.
+Over time, we anticipate to have dozens of alternative backends.
+Please, reach to [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+if you want to help to create one.
+
+## (3) Roadmap
+
+Pythagoras has just started and is actively evolving. Here is our roadmap for 2022:
+
+1. Develop an abstraction model and API for the Global Compute Engine - **DONE**;
+2. Develop several alternative backend implementations:
+ 1. P2P reference backend implementation - **DONE**;
+ 2. Basic AWS reference backend implementation - **IN PROGRESS**;
+ 3. Basic GCP backend implementation;
+ 4. Basic Azure backend implementation;
+ 5. Various advanced backend implementations for specific use-cases;
+3. Implement massively parallel algorithms for Data Science and Machine Learning:
+ 1. Reference implementation for massively parallel grid search for hyperparameter optimisation - **IN PROGRESS**;
+ 2. Massively parallel implementations of popular DS/ML algorithms
+ that can benefit from highly scalable serverless compute;
+ 3. Brand-new DS/ML algorithms that were impossible to ideate in pre-serverless era.
+
+## (4) How To Get It?
+
+The source code is hosted on GitHub at:
+[https://github.com/vladlpavlov/pythagoras](https://github.com/vladlpavlov/pythagoras)
+
+Binary installers for the latest released version are available at the Python package index at:
+[https://pypi.org/project/pythagoras](https://pypi.org/project/pythagoras)
+
+ pip install pythagoras
+
+## (5) Dependencies
+
+* [pandas](https://pandas.pydata.org)
+* [scikit-learn](https://scikit-learn.org)
+* [numpy](https://numpy.org)
+* [scipy](https://www.scipy.org)
+* [psutil](https://pypi.org/project/psutil)
+* [boto3](https://boto3.readthedocs.io)
+* [moto](http://getmoto.org)
+* [jsonpickle](https://jsonpickle.github.io)
+* [pytest](https://pytest.org)
+* [hypothesis](https://hypothesis.works)
+
+
+## (6) Key Contacts
+
+* [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+* [Illia Shestakov](https://www.linkedin.com/in/illia-shestakov-88716a21b/)
+* [Kai Zhao](https://www.linkedin.com/in/kaimzhao/)
+
+## (7) What Do The Name And Logo Mean?
+
+Pythagoras was a famous ancient Greek thinker and scientist
+who was the first man to call himself a philosopher ("lover of wisdom").
+He is most recognised for his many mathematical findings,
+including the Pythagorean theorem.
+
+But not everyone knows that in antiquity, Pythagoras was also credited with major astronomical discoveries,
+such as sphericity of the Earth and the identity of the morning and evening stars as the planet Venus.
+Our logo depicts these, lesser known but not less important achievements of Pythagoras.
+
+
+
+%package -n python3-pythagoras
+Summary: Simple and inexpensive way to create, deploy and run cloud-scale algorithms from within local Python scripts and notebooks.
+Provides: python-pythagoras
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pythagoras
+<div align="center">
+ <img src="http://vlpavlov.org/Pythagoras-Logo3.svg"><br>
+</div>
+
+# Pythagoras
+
+## (1) What Is It?
+
+An experimental framework that aims to democratize access to distributed serverless compute.
+We make it simple and inexpensive to create, deploy and run cloud-hosted massively parallel algorithms
+from within local Python scripts and notebooks. Pythagoras makes data scientists' lives easier,
+while allowing them to solve more complex problems in a shorter time with smaller budgets.
+
+## (2) What Is Inside?
+Pythagoras offers:
+1. a powerful abstraction model for a global-scale serverless compute engine;
+2. a simple API for Python programmers to use the engine;
+3. a collection of backends that implement the API for various deployment scenarios
+(*work in progress, currently only P2P backend is available*)
+4. a collection of massively parallel algorithms that take advantage of
+Pythagoras serverless compute engine (*planned*)
+
+### ((2.1)) Pythagoras Abstraction Model For Global Compute Engine
+
+Pythagoras offers a very powerful, yet simple abstraction model for a serverless compute engine.
+It contains three fundamental components:
+* Massively parallel serverless code executor for pure functions;
+* Global persistent store for immutable values with hash-based addressing scheme;
+* Global persistent cache for function execution outputs.
+
+This [overview](https://docs.google.com/document/d/1lgNOaRcZNGvW4wF894s7KmIWjhLX2cDVM_15a4lE02Y)
+provides detailed information about the abstraction model.
+
+### ((2.2)) Pythagoras API
+
+Pythagoras makes it very easy to scale computationally expensive code to the cloud,
+without a need to explicitly parallelize the code, to provision any infrastructure,
+or to orchestrate code deployment or execution.
+
+Data scientists can continue using their local workstations.
+They can keep working with their local Python scripts and Jupyter notebooks.
+They will need to add just a few extra lines to their existing code.
+After this change, computationally expensive parts of the local code will be
+automatically executed in the cloud on dozens (or even hundreds or thousands) servers,
+and the execution results will seamlessly get back to local workstations.
+
+This [introduction tutorial](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_introduction.ipynb)
+explains how to use the API.
+
+### ((2.3)) Pythagoras Backends
+Backends are seamlessly interchangeable.
+They differ by their under-the-hood implementations of deployment models and provisioning / orchestration algorithms.
+A collection of backends will offer engineers a wide variety of trade-offs that fit different use-cases.
+
+As of now, Pythagoras team has implemented a
+[P2P version](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_P2P_tutorial.ipynb)
+of the backend. It allows to parallelize program execution by simply launching the program simultaneously
+on a swarm of local computers (e.g. desktops and laptops in your office or dormitory).
+
+The Pythagoras team is currently working on a reference implementation for AWS-based backend.
+Over time, we anticipate to have dozens of alternative backends.
+Please, reach to [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+if you want to help to create one.
+
+## (3) Roadmap
+
+Pythagoras has just started and is actively evolving. Here is our roadmap for 2022:
+
+1. Develop an abstraction model and API for the Global Compute Engine - **DONE**;
+2. Develop several alternative backend implementations:
+ 1. P2P reference backend implementation - **DONE**;
+ 2. Basic AWS reference backend implementation - **IN PROGRESS**;
+ 3. Basic GCP backend implementation;
+ 4. Basic Azure backend implementation;
+ 5. Various advanced backend implementations for specific use-cases;
+3. Implement massively parallel algorithms for Data Science and Machine Learning:
+ 1. Reference implementation for massively parallel grid search for hyperparameter optimisation - **IN PROGRESS**;
+ 2. Massively parallel implementations of popular DS/ML algorithms
+ that can benefit from highly scalable serverless compute;
+ 3. Brand-new DS/ML algorithms that were impossible to ideate in pre-serverless era.
+
+## (4) How To Get It?
+
+The source code is hosted on GitHub at:
+[https://github.com/vladlpavlov/pythagoras](https://github.com/vladlpavlov/pythagoras)
+
+Binary installers for the latest released version are available at the Python package index at:
+[https://pypi.org/project/pythagoras](https://pypi.org/project/pythagoras)
+
+ pip install pythagoras
+
+## (5) Dependencies
+
+* [pandas](https://pandas.pydata.org)
+* [scikit-learn](https://scikit-learn.org)
+* [numpy](https://numpy.org)
+* [scipy](https://www.scipy.org)
+* [psutil](https://pypi.org/project/psutil)
+* [boto3](https://boto3.readthedocs.io)
+* [moto](http://getmoto.org)
+* [jsonpickle](https://jsonpickle.github.io)
+* [pytest](https://pytest.org)
+* [hypothesis](https://hypothesis.works)
+
+
+## (6) Key Contacts
+
+* [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+* [Illia Shestakov](https://www.linkedin.com/in/illia-shestakov-88716a21b/)
+* [Kai Zhao](https://www.linkedin.com/in/kaimzhao/)
+
+## (7) What Do The Name And Logo Mean?
+
+Pythagoras was a famous ancient Greek thinker and scientist
+who was the first man to call himself a philosopher ("lover of wisdom").
+He is most recognised for his many mathematical findings,
+including the Pythagorean theorem.
+
+But not everyone knows that in antiquity, Pythagoras was also credited with major astronomical discoveries,
+such as sphericity of the Earth and the identity of the morning and evening stars as the planet Venus.
+Our logo depicts these, lesser known but not less important achievements of Pythagoras.
+
+
+
+%package help
+Summary: Development documents and examples for pythagoras
+Provides: python3-pythagoras-doc
+%description help
+<div align="center">
+ <img src="http://vlpavlov.org/Pythagoras-Logo3.svg"><br>
+</div>
+
+# Pythagoras
+
+## (1) What Is It?
+
+An experimental framework that aims to democratize access to distributed serverless compute.
+We make it simple and inexpensive to create, deploy and run cloud-hosted massively parallel algorithms
+from within local Python scripts and notebooks. Pythagoras makes data scientists' lives easier,
+while allowing them to solve more complex problems in a shorter time with smaller budgets.
+
+## (2) What Is Inside?
+Pythagoras offers:
+1. a powerful abstraction model for a global-scale serverless compute engine;
+2. a simple API for Python programmers to use the engine;
+3. a collection of backends that implement the API for various deployment scenarios
+(*work in progress, currently only P2P backend is available*)
+4. a collection of massively parallel algorithms that take advantage of
+Pythagoras serverless compute engine (*planned*)
+
+### ((2.1)) Pythagoras Abstraction Model For Global Compute Engine
+
+Pythagoras offers a very powerful, yet simple abstraction model for a serverless compute engine.
+It contains three fundamental components:
+* Massively parallel serverless code executor for pure functions;
+* Global persistent store for immutable values with hash-based addressing scheme;
+* Global persistent cache for function execution outputs.
+
+This [overview](https://docs.google.com/document/d/1lgNOaRcZNGvW4wF894s7KmIWjhLX2cDVM_15a4lE02Y)
+provides detailed information about the abstraction model.
+
+### ((2.2)) Pythagoras API
+
+Pythagoras makes it very easy to scale computationally expensive code to the cloud,
+without a need to explicitly parallelize the code, to provision any infrastructure,
+or to orchestrate code deployment or execution.
+
+Data scientists can continue using their local workstations.
+They can keep working with their local Python scripts and Jupyter notebooks.
+They will need to add just a few extra lines to their existing code.
+After this change, computationally expensive parts of the local code will be
+automatically executed in the cloud on dozens (or even hundreds or thousands) servers,
+and the execution results will seamlessly get back to local workstations.
+
+This [introduction tutorial](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_introduction.ipynb)
+explains how to use the API.
+
+### ((2.3)) Pythagoras Backends
+Backends are seamlessly interchangeable.
+They differ by their under-the-hood implementations of deployment models and provisioning / orchestration algorithms.
+A collection of backends will offer engineers a wide variety of trade-offs that fit different use-cases.
+
+As of now, Pythagoras team has implemented a
+[P2P version](https://github.com/vladlpavlov/pythagoras/blob/master/pythagoras_P2P_tutorial.ipynb)
+of the backend. It allows to parallelize program execution by simply launching the program simultaneously
+on a swarm of local computers (e.g. desktops and laptops in your office or dormitory).
+
+The Pythagoras team is currently working on a reference implementation for AWS-based backend.
+Over time, we anticipate to have dozens of alternative backends.
+Please, reach to [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+if you want to help to create one.
+
+## (3) Roadmap
+
+Pythagoras has just started and is actively evolving. Here is our roadmap for 2022:
+
+1. Develop an abstraction model and API for the Global Compute Engine - **DONE**;
+2. Develop several alternative backend implementations:
+ 1. P2P reference backend implementation - **DONE**;
+ 2. Basic AWS reference backend implementation - **IN PROGRESS**;
+ 3. Basic GCP backend implementation;
+ 4. Basic Azure backend implementation;
+ 5. Various advanced backend implementations for specific use-cases;
+3. Implement massively parallel algorithms for Data Science and Machine Learning:
+ 1. Reference implementation for massively parallel grid search for hyperparameter optimisation - **IN PROGRESS**;
+ 2. Massively parallel implementations of popular DS/ML algorithms
+ that can benefit from highly scalable serverless compute;
+ 3. Brand-new DS/ML algorithms that were impossible to ideate in pre-serverless era.
+
+## (4) How To Get It?
+
+The source code is hosted on GitHub at:
+[https://github.com/vladlpavlov/pythagoras](https://github.com/vladlpavlov/pythagoras)
+
+Binary installers for the latest released version are available at the Python package index at:
+[https://pypi.org/project/pythagoras](https://pypi.org/project/pythagoras)
+
+ pip install pythagoras
+
+## (5) Dependencies
+
+* [pandas](https://pandas.pydata.org)
+* [scikit-learn](https://scikit-learn.org)
+* [numpy](https://numpy.org)
+* [scipy](https://www.scipy.org)
+* [psutil](https://pypi.org/project/psutil)
+* [boto3](https://boto3.readthedocs.io)
+* [moto](http://getmoto.org)
+* [jsonpickle](https://jsonpickle.github.io)
+* [pytest](https://pytest.org)
+* [hypothesis](https://hypothesis.works)
+
+
+## (6) Key Contacts
+
+* [Volodymyr (Vlad) Pavlov](https://www.linkedin.com/in/vlpavlov/)
+* [Illia Shestakov](https://www.linkedin.com/in/illia-shestakov-88716a21b/)
+* [Kai Zhao](https://www.linkedin.com/in/kaimzhao/)
+
+## (7) What Do The Name And Logo Mean?
+
+Pythagoras was a famous ancient Greek thinker and scientist
+who was the first man to call himself a philosopher ("lover of wisdom").
+He is most recognised for his many mathematical findings,
+including the Pythagorean theorem.
+
+But not everyone knows that in antiquity, Pythagoras was also credited with major astronomical discoveries,
+such as sphericity of the Earth and the identity of the morning and evening stars as the planet Venus.
+Our logo depicts these, lesser known but not less important achievements of Pythagoras.
+
+
+
+%prep
+%autosetup -n pythagoras-0.4.6
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pythagoras -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.6-1
+- Package Spec generated