summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-dynamo-pandas.spec185
-rw-r--r--sources1
3 files changed, 187 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..40a6830 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/dynamo-pandas-1.3.0.tar.gz
diff --git a/python-dynamo-pandas.spec b/python-dynamo-pandas.spec
new file mode 100644
index 0000000..bc24c22
--- /dev/null
+++ b/python-dynamo-pandas.spec
@@ -0,0 +1,185 @@
+%global _empty_manifest_terminate_build 0
+Name: python-dynamo-pandas
+Version: 1.3.0
+Release: 1
+Summary: Make working with pandas dataframe and AWS DynamoDB easy.
+License: MIT
+URL: https://github.com/DrGFreeman/dynamo-pandas
+Source0: https://mirrors.aliyun.com/pypi/web/packages/eb/ca/15cf7f8dd4ce86b5d1166cf45d9654d3f664231810672a117666651bf190/dynamo-pandas-1.3.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-pandas
+Requires: python3-boto3
+
+%description
+ 0 player_id 4 non-null object
+ 1 last_play 4 non-null datetime64[ns]
+ 2 play_time 4 non-null timedelta64[ns]
+ 3 rating 4 non-null float64
+ 4 bonus_points 3 non-null Int8
+dtypes: Int8(1), datetime64[ns](1), float64(1), object(1), timedelta64[ns](1)
+memory usage: 264.0+ bytes
+```
+Storing the rows of this dataframe to DynamoDB requires multiple data type conversions.
+```python
+>>> from dynamo_pandas import put_df, get_df, keys
+```
+The `put_df` function adds or updates the rows of a dataframe into the specified table, taking care of the required type conversions (the table must be already created and the primary key column(s) be present in the dataframe).
+```python
+>>> put_df(players_df, table="players")
+```
+The `get_df` function retrieves the items matching the speficied key(s) from the table into a dataframe.
+```python
+>>> df = get_df(table="players", keys=[{"player_id": "player_three"}, {"player_id": "player_one"}])
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 4 player_three 2021-01-21 10:22:43 2.5 1 days 14:01:19
+1 3 player_one 2021-01-18 22:47:23 4.3 2 days 17:41:55
+```
+In the case where only a partition key is used, the `keys` function simplifies the generation of the keys list.
+```python
+>>> df = get_df(table="players", keys=keys(player_id=["player_two", "player_four"]))
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 1.0 player_two 2021-01-19 19:07:54 3.8 0 days 22:07:34
+1 NaN player_four 2021-01-22 13:51:12 4.8 0 days 03:45:49
+```
+The data types returned by the `get_df` function are basic types and no automatic type conversion is attempted.
+```python
+>>> df.info()
+<class 'pandas.core.frame.DataFrame'>
+RangeIndex: 2 entries, 0 to 1
+Data columns (total 5 columns):
+
+%package -n python3-dynamo-pandas
+Summary: Make working with pandas dataframe and AWS DynamoDB easy.
+Provides: python-dynamo-pandas
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-dynamo-pandas
+ 0 player_id 4 non-null object
+ 1 last_play 4 non-null datetime64[ns]
+ 2 play_time 4 non-null timedelta64[ns]
+ 3 rating 4 non-null float64
+ 4 bonus_points 3 non-null Int8
+dtypes: Int8(1), datetime64[ns](1), float64(1), object(1), timedelta64[ns](1)
+memory usage: 264.0+ bytes
+```
+Storing the rows of this dataframe to DynamoDB requires multiple data type conversions.
+```python
+>>> from dynamo_pandas import put_df, get_df, keys
+```
+The `put_df` function adds or updates the rows of a dataframe into the specified table, taking care of the required type conversions (the table must be already created and the primary key column(s) be present in the dataframe).
+```python
+>>> put_df(players_df, table="players")
+```
+The `get_df` function retrieves the items matching the speficied key(s) from the table into a dataframe.
+```python
+>>> df = get_df(table="players", keys=[{"player_id": "player_three"}, {"player_id": "player_one"}])
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 4 player_three 2021-01-21 10:22:43 2.5 1 days 14:01:19
+1 3 player_one 2021-01-18 22:47:23 4.3 2 days 17:41:55
+```
+In the case where only a partition key is used, the `keys` function simplifies the generation of the keys list.
+```python
+>>> df = get_df(table="players", keys=keys(player_id=["player_two", "player_four"]))
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 1.0 player_two 2021-01-19 19:07:54 3.8 0 days 22:07:34
+1 NaN player_four 2021-01-22 13:51:12 4.8 0 days 03:45:49
+```
+The data types returned by the `get_df` function are basic types and no automatic type conversion is attempted.
+```python
+>>> df.info()
+<class 'pandas.core.frame.DataFrame'>
+RangeIndex: 2 entries, 0 to 1
+Data columns (total 5 columns):
+
+%package help
+Summary: Development documents and examples for dynamo-pandas
+Provides: python3-dynamo-pandas-doc
+%description help
+ 0 player_id 4 non-null object
+ 1 last_play 4 non-null datetime64[ns]
+ 2 play_time 4 non-null timedelta64[ns]
+ 3 rating 4 non-null float64
+ 4 bonus_points 3 non-null Int8
+dtypes: Int8(1), datetime64[ns](1), float64(1), object(1), timedelta64[ns](1)
+memory usage: 264.0+ bytes
+```
+Storing the rows of this dataframe to DynamoDB requires multiple data type conversions.
+```python
+>>> from dynamo_pandas import put_df, get_df, keys
+```
+The `put_df` function adds or updates the rows of a dataframe into the specified table, taking care of the required type conversions (the table must be already created and the primary key column(s) be present in the dataframe).
+```python
+>>> put_df(players_df, table="players")
+```
+The `get_df` function retrieves the items matching the speficied key(s) from the table into a dataframe.
+```python
+>>> df = get_df(table="players", keys=[{"player_id": "player_three"}, {"player_id": "player_one"}])
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 4 player_three 2021-01-21 10:22:43 2.5 1 days 14:01:19
+1 3 player_one 2021-01-18 22:47:23 4.3 2 days 17:41:55
+```
+In the case where only a partition key is used, the `keys` function simplifies the generation of the keys list.
+```python
+>>> df = get_df(table="players", keys=keys(player_id=["player_two", "player_four"]))
+>>> print(df)
+ bonus_points player_id last_play rating play_time
+0 1.0 player_two 2021-01-19 19:07:54 3.8 0 days 22:07:34
+1 NaN player_four 2021-01-22 13:51:12 4.8 0 days 03:45:49
+```
+The data types returned by the `get_df` function are basic types and no automatic type conversion is attempted.
+```python
+>>> df.info()
+<class 'pandas.core.frame.DataFrame'>
+RangeIndex: 2 entries, 0 to 1
+Data columns (total 5 columns):
+
+%prep
+%autosetup -n dynamo-pandas-1.3.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-dynamo-pandas -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..05c763d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+bb2cbc2d99093093ed5aaf9fab7d84ae dynamo-pandas-1.3.0.tar.gz