diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-traces.spec | 494 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 496 insertions, 0 deletions
@@ -0,0 +1 @@ +/traces-0.6.0.macosx-10.15-x86_64.tar.gz diff --git a/python-traces.spec b/python-traces.spec new file mode 100644 index 0000000..dad41f9 --- /dev/null +++ b/python-traces.spec @@ -0,0 +1,494 @@ +%global _empty_manifest_terminate_build 0 +Name: python-traces +Version: 0.6.0 +Release: 1 +Summary: A library for unevenly-spaced time series analysis. +License: MIT license +URL: https://github.com/datascopeanalytics/traces +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f4/51/f99afc6bf101cfe10cb5a5e1ca1de86a90029571150c692766769e01582d/traces-0.6.0.macosx-10.15-x86_64.tar.gz +BuildArch: noarch + +Requires: python3-sortedcontainers +Requires: python3-infinity +Requires: python3-dateutil +Requires: python3-cprofilev +Requires: python3-pip +Requires: python3-bumpversion +Requires: python3-wheel +Requires: python3-tox +Requires: python3-flake8 +Requires: python3-coverage +Requires: python3-cryptography +Requires: python3-PyYAML +Requires: python3-Sphinx +Requires: python3-sphinxcontrib-napoleon +Requires: python3-recommonmark +Requires: python3-sphinx-autobuild +Requires: python3-pandas +Requires: python3-pycodestyle +Requires: python3-coveralls +Requires: python3-nose +Requires: python3-pytest +Requires: python3-pytest-mpl +Requires: python3-numpy +Requires: python3-scipy +Requires: python3-pandas +Requires: python3-matplotlib + +%description +# traces + +[](https://pypi.python.org/pypi/traces) [](https://pypi.python.org/pypi/traces) [](https://circleci.com/gh/datascopeanalytics/traces/tree/master) [](https://traces.readthedocs.io/en/master/?badge=master) [](https://coveralls.io/github/datascopeanalytics/traces?branch=master) + +A Python library for unevenly-spaced time series analysis. + +## Why? + +Taking measurements at irregular intervals is common, but most tools are +primarily designed for evenly-spaced measurements. Also, in the real +world, time series have missing observations or you may have multiple +series with different frequencies: it's can be useful to model these as +unevenly-spaced. + +Traces was designed by the team at +[Datascope](https://datascopeanalytics.com/) based on several practical +applications in different domains, because it turns out [unevenly-spaced +data is actually pretty great, particularly for sensor data +analysis](https://datascopeanalytics.com/blog/unevenly-spaced-time-series/). + +## Installation + +To install traces, run this command in your terminal: + +```bash +$ pip install traces +``` + +## Quickstart: using traces + +To see a basic use of traces, let's look at these data from a light +switch, also known as _Big Data from the Internet of Things_. + + + +The main object in traces is a [TimeSeries](https://traces.readthedocs.io/en/master/api_reference.html#timeseries), which you +create just like a dictionary, adding the five measurements at 6:00am, +7:45:56am, etc. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[datetime(2042, 2, 1, 6, 0, 0)] = 0 # 6:00:00am +>>> time_series[datetime(2042, 2, 1, 7, 45, 56)] = 1 # 7:45:56am +>>> time_series[datetime(2042, 2, 1, 8, 51, 42)] = 0 # 8:51:42am +>>> time_series[datetime(2042, 2, 1, 12, 3, 56)] = 1 # 12:03:56am +>>> time_series[datetime(2042, 2, 1, 12, 7, 13)] = 0 # 12:07:13am +``` + +What if you want to know if the light was on at 11am? Unlike a python +dictionary, you can look up the value at any time even if it's not one +of the measurement times. + +```python +>>> time_series[datetime(2042, 2, 1, 11, 0, 0)] # 11:00am +0 +``` + +The `distribution` function gives you the fraction of time that the +`TimeSeries` is in each state. + +```python +>>> time_series.distribution( +>>> start=datetime(2042, 2, 1, 6, 0, 0), # 6:00am +>>> end=datetime(2042, 2, 1, 13, 0, 0) # 1:00pm +>>> ) +Histogram({0: 0.8355952380952381, 1: 0.16440476190476191}) +``` + +The light was on about 16% of the time between 6am and 1pm. + +### Adding more data... + +Now let's get a little more complicated and look at the sensor readings +from forty lights in a house. + + + +How many lights are on throughout the day? The merge function takes the +forty individual `TimeSeries` and efficiently merges them into one +`TimeSeries` where the each value is a list of all lights. + +```python +>>> trace_list = [... list of forty traces.TimeSeries ...] +>>> count = traces.TimeSeries.merge(trace_list, operation=sum) +``` + +We also applied a `sum` operation to the list of states to get the +`TimeSeries` of the number of lights that are on. + + + +How many lights are on in the building on average during business hours, +from 8am to 6pm? + +```python +>>> histogram = count.distribution( +>>> start=datetime(2042, 2, 1, 8, 0, 0), # 8:00am +>>> end=datetime(2042, 2, 1, 12 + 6, 0, 0) # 6:00pm +>>> ) +>>> histogram.median() +17 +``` + +The `distribution` function returns a [Histogram](https://traces.readthedocs.io/en/master/api_reference.html#histogram) that +can be used to get summary metrics such as the mean or quantiles. + +### It's flexible + +The measurements points (keys) in a `TimeSeries` can be in any units as +long as they can be ordered. The values can be anything. + +For example, you can use a `TimeSeries` to keep track the contents of a +grocery basket by the number of minutes within a shopping trip. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[1.2] = {'broccoli'} +>>> time_series[1.7] = {'broccoli', 'apple'} +>>> time_series[2.2] = {'apple'} # puts broccoli back +>>> time_series[3.5] = {'apple', 'beets'} # mmm, beets +``` + +To learn more, check the [examples](https://traces.readthedocs.io/en/master/examples.html) and the detailed [reference](https://traces.readthedocs.io/en/master/api_reference.html#). + +## More info + +## Contributing + +Contributions are welcome and greatly appreciated! Please visit our [guidelines](https://github.com/datascopeanalytics/traces/blob/master/CONTRIBUTING.md) +for more info. + + + + +%package -n python3-traces +Summary: A library for unevenly-spaced time series analysis. +Provides: python-traces +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-traces +# traces + +[](https://pypi.python.org/pypi/traces) [](https://pypi.python.org/pypi/traces) [](https://circleci.com/gh/datascopeanalytics/traces/tree/master) [](https://traces.readthedocs.io/en/master/?badge=master) [](https://coveralls.io/github/datascopeanalytics/traces?branch=master) + +A Python library for unevenly-spaced time series analysis. + +## Why? + +Taking measurements at irregular intervals is common, but most tools are +primarily designed for evenly-spaced measurements. Also, in the real +world, time series have missing observations or you may have multiple +series with different frequencies: it's can be useful to model these as +unevenly-spaced. + +Traces was designed by the team at +[Datascope](https://datascopeanalytics.com/) based on several practical +applications in different domains, because it turns out [unevenly-spaced +data is actually pretty great, particularly for sensor data +analysis](https://datascopeanalytics.com/blog/unevenly-spaced-time-series/). + +## Installation + +To install traces, run this command in your terminal: + +```bash +$ pip install traces +``` + +## Quickstart: using traces + +To see a basic use of traces, let's look at these data from a light +switch, also known as _Big Data from the Internet of Things_. + + + +The main object in traces is a [TimeSeries](https://traces.readthedocs.io/en/master/api_reference.html#timeseries), which you +create just like a dictionary, adding the five measurements at 6:00am, +7:45:56am, etc. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[datetime(2042, 2, 1, 6, 0, 0)] = 0 # 6:00:00am +>>> time_series[datetime(2042, 2, 1, 7, 45, 56)] = 1 # 7:45:56am +>>> time_series[datetime(2042, 2, 1, 8, 51, 42)] = 0 # 8:51:42am +>>> time_series[datetime(2042, 2, 1, 12, 3, 56)] = 1 # 12:03:56am +>>> time_series[datetime(2042, 2, 1, 12, 7, 13)] = 0 # 12:07:13am +``` + +What if you want to know if the light was on at 11am? Unlike a python +dictionary, you can look up the value at any time even if it's not one +of the measurement times. + +```python +>>> time_series[datetime(2042, 2, 1, 11, 0, 0)] # 11:00am +0 +``` + +The `distribution` function gives you the fraction of time that the +`TimeSeries` is in each state. + +```python +>>> time_series.distribution( +>>> start=datetime(2042, 2, 1, 6, 0, 0), # 6:00am +>>> end=datetime(2042, 2, 1, 13, 0, 0) # 1:00pm +>>> ) +Histogram({0: 0.8355952380952381, 1: 0.16440476190476191}) +``` + +The light was on about 16% of the time between 6am and 1pm. + +### Adding more data... + +Now let's get a little more complicated and look at the sensor readings +from forty lights in a house. + + + +How many lights are on throughout the day? The merge function takes the +forty individual `TimeSeries` and efficiently merges them into one +`TimeSeries` where the each value is a list of all lights. + +```python +>>> trace_list = [... list of forty traces.TimeSeries ...] +>>> count = traces.TimeSeries.merge(trace_list, operation=sum) +``` + +We also applied a `sum` operation to the list of states to get the +`TimeSeries` of the number of lights that are on. + + + +How many lights are on in the building on average during business hours, +from 8am to 6pm? + +```python +>>> histogram = count.distribution( +>>> start=datetime(2042, 2, 1, 8, 0, 0), # 8:00am +>>> end=datetime(2042, 2, 1, 12 + 6, 0, 0) # 6:00pm +>>> ) +>>> histogram.median() +17 +``` + +The `distribution` function returns a [Histogram](https://traces.readthedocs.io/en/master/api_reference.html#histogram) that +can be used to get summary metrics such as the mean or quantiles. + +### It's flexible + +The measurements points (keys) in a `TimeSeries` can be in any units as +long as they can be ordered. The values can be anything. + +For example, you can use a `TimeSeries` to keep track the contents of a +grocery basket by the number of minutes within a shopping trip. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[1.2] = {'broccoli'} +>>> time_series[1.7] = {'broccoli', 'apple'} +>>> time_series[2.2] = {'apple'} # puts broccoli back +>>> time_series[3.5] = {'apple', 'beets'} # mmm, beets +``` + +To learn more, check the [examples](https://traces.readthedocs.io/en/master/examples.html) and the detailed [reference](https://traces.readthedocs.io/en/master/api_reference.html#). + +## More info + +## Contributing + +Contributions are welcome and greatly appreciated! Please visit our [guidelines](https://github.com/datascopeanalytics/traces/blob/master/CONTRIBUTING.md) +for more info. + + + + +%package help +Summary: Development documents and examples for traces +Provides: python3-traces-doc +%description help +# traces + +[](https://pypi.python.org/pypi/traces) [](https://pypi.python.org/pypi/traces) [](https://circleci.com/gh/datascopeanalytics/traces/tree/master) [](https://traces.readthedocs.io/en/master/?badge=master) [](https://coveralls.io/github/datascopeanalytics/traces?branch=master) + +A Python library for unevenly-spaced time series analysis. + +## Why? + +Taking measurements at irregular intervals is common, but most tools are +primarily designed for evenly-spaced measurements. Also, in the real +world, time series have missing observations or you may have multiple +series with different frequencies: it's can be useful to model these as +unevenly-spaced. + +Traces was designed by the team at +[Datascope](https://datascopeanalytics.com/) based on several practical +applications in different domains, because it turns out [unevenly-spaced +data is actually pretty great, particularly for sensor data +analysis](https://datascopeanalytics.com/blog/unevenly-spaced-time-series/). + +## Installation + +To install traces, run this command in your terminal: + +```bash +$ pip install traces +``` + +## Quickstart: using traces + +To see a basic use of traces, let's look at these data from a light +switch, also known as _Big Data from the Internet of Things_. + + + +The main object in traces is a [TimeSeries](https://traces.readthedocs.io/en/master/api_reference.html#timeseries), which you +create just like a dictionary, adding the five measurements at 6:00am, +7:45:56am, etc. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[datetime(2042, 2, 1, 6, 0, 0)] = 0 # 6:00:00am +>>> time_series[datetime(2042, 2, 1, 7, 45, 56)] = 1 # 7:45:56am +>>> time_series[datetime(2042, 2, 1, 8, 51, 42)] = 0 # 8:51:42am +>>> time_series[datetime(2042, 2, 1, 12, 3, 56)] = 1 # 12:03:56am +>>> time_series[datetime(2042, 2, 1, 12, 7, 13)] = 0 # 12:07:13am +``` + +What if you want to know if the light was on at 11am? Unlike a python +dictionary, you can look up the value at any time even if it's not one +of the measurement times. + +```python +>>> time_series[datetime(2042, 2, 1, 11, 0, 0)] # 11:00am +0 +``` + +The `distribution` function gives you the fraction of time that the +`TimeSeries` is in each state. + +```python +>>> time_series.distribution( +>>> start=datetime(2042, 2, 1, 6, 0, 0), # 6:00am +>>> end=datetime(2042, 2, 1, 13, 0, 0) # 1:00pm +>>> ) +Histogram({0: 0.8355952380952381, 1: 0.16440476190476191}) +``` + +The light was on about 16% of the time between 6am and 1pm. + +### Adding more data... + +Now let's get a little more complicated and look at the sensor readings +from forty lights in a house. + + + +How many lights are on throughout the day? The merge function takes the +forty individual `TimeSeries` and efficiently merges them into one +`TimeSeries` where the each value is a list of all lights. + +```python +>>> trace_list = [... list of forty traces.TimeSeries ...] +>>> count = traces.TimeSeries.merge(trace_list, operation=sum) +``` + +We also applied a `sum` operation to the list of states to get the +`TimeSeries` of the number of lights that are on. + + + +How many lights are on in the building on average during business hours, +from 8am to 6pm? + +```python +>>> histogram = count.distribution( +>>> start=datetime(2042, 2, 1, 8, 0, 0), # 8:00am +>>> end=datetime(2042, 2, 1, 12 + 6, 0, 0) # 6:00pm +>>> ) +>>> histogram.median() +17 +``` + +The `distribution` function returns a [Histogram](https://traces.readthedocs.io/en/master/api_reference.html#histogram) that +can be used to get summary metrics such as the mean or quantiles. + +### It's flexible + +The measurements points (keys) in a `TimeSeries` can be in any units as +long as they can be ordered. The values can be anything. + +For example, you can use a `TimeSeries` to keep track the contents of a +grocery basket by the number of minutes within a shopping trip. + +```python +>>> time_series = traces.TimeSeries() +>>> time_series[1.2] = {'broccoli'} +>>> time_series[1.7] = {'broccoli', 'apple'} +>>> time_series[2.2] = {'apple'} # puts broccoli back +>>> time_series[3.5] = {'apple', 'beets'} # mmm, beets +``` + +To learn more, check the [examples](https://traces.readthedocs.io/en/master/examples.html) and the detailed [reference](https://traces.readthedocs.io/en/master/api_reference.html#). + +## More info + +## Contributing + +Contributions are welcome and greatly appreciated! Please visit our [guidelines](https://github.com/datascopeanalytics/traces/blob/master/CONTRIBUTING.md) +for more info. + + + + +%prep +%autosetup -n traces-0.6.0 + +%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-traces -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.0-1 +- Package Spec generated @@ -0,0 +1 @@ +bb6d5d06581ebd5c40116b735c4f26fb traces-0.6.0.macosx-10.15-x86_64.tar.gz |
