summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-09 04:23:16 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-09 04:23:16 +0000
commit9e74ff1e8dc95be10420d098164bdeb39c3eb083 (patch)
tree6f2db632a06472d28998768147b381a8e53b5e51
parente97fa112bc808f60437be918ba622ee3fec8e157 (diff)
automatic import of python-k1libopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-k1lib.spec352
-rw-r--r--sources1
3 files changed, 354 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..f56a6af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/k1lib-1.4.linux-x86_64.tar.gz
diff --git a/python-k1lib.spec b/python-k1lib.spec
new file mode 100644
index 0000000..19c26e6
--- /dev/null
+++ b/python-k1lib.spec
@@ -0,0 +1,352 @@
+%global _empty_manifest_terminate_build 0
+Name: python-k1lib
+Version: 1.4
+Release: 1
+Summary: Some nice ML overhaul
+License: MIT
+URL: https://k1lib.com
+Source0: https://mirrors.aliyun.com/pypi/web/packages/0b/5f/ab2685cce2319e4e7ded3533c7888d1018341d6bee67c8636fb649fbb534/k1lib-1.4.linux-x86_64.tar.gz
+BuildArch: noarch
+
+Requires: python3-numpy
+Requires: python3-matplotlib
+Requires: python3-dill
+Requires: python3-forbiddenfruit
+Requires: python3-wurlitzer
+Requires: python3-validators
+Requires: python3-graphviz
+Requires: python3-torchvision
+Requires: python3-pillow
+Requires: python3-scikit-image
+Requires: python3-pyperclip
+Requires: python3-k1a
+Requires: python3-torch
+
+%description
+# k1lib
+
+This library enables piping in Python, and has a lot of prebuilt piping tools
+to support this workflow.
+
+## Installation
+
+```bash
+ pip install k1lib[all]
+```
+
+This will install lots of heavy dependencies like PyTorch. If you want to install
+the leanest version of the library, do this instead:
+
+```bash
+ pip install k1lib
+```
+
+To use it in a notebook, do this:
+
+```python
+ from k1lib.imports import *
+```
+
+Check out the source code for "k1lib.imports" if you're curious what it's
+importing. If you hate \* imports for whatever reason, you can import cli
+tools individually, like this::
+
+```python
+ from k1lib.cli import ls, cat, grep, apply, batched, display
+```
+
+## Examples
+
+```python
+# returns [0, 1, 4, 9, 16], kinda like map
+range(5) | apply(lambda x: x**2) | deref()
+
+# plotting the function y = x^2
+x = np.linspace(-2, 2); y = x**2
+plt.plot(x, y) # normal way
+[x, y] | ~aS(plt.plot) # pipe way
+
+# plotting the functions y = x**2, y = x**3, y = x**4
+x = np.linspace(-2, 2)
+[2, 3, 4] | apply(lambda exp: [x, x**exp]) | ~apply(plt.plot) | deref()
+
+# loading csv file and displaying first 10 rows in a nice table
+cat("abc.csv") | apply(lambda x: x.split(",")) | display()
+
+# searching for "gene_name: ..." lines in a file and display a nice overview of just the gene names alone
+cat("abc.txt") | grep("gene_name: ") | apply(lambda x: x.split(": ")[1]) | batched(4) | display()
+
+# manipulate numpy arrays and pytorch tensors
+a = np.random.randn(3, 4, 5)
+a | transpose() | shape() # returns (4, 3, 5)
+a | transpose(0, 2) | shape() # returns (5, 4, 3)
+
+# loading images from categories and splitting them into train and valid sets. Image url: dataset/categoryA/image1.jpg
+train, valid = ls("dataset") | apply(ls() | splitW()) | transpose() | deref()
+# shape of output is (train/valid, category, image url). It was (category, train/valid, image url) before going through transpose()
+
+# executing task in multiple processes
+range(10_000_000) | batched(1_000_000) | applyMp(toSum()) | toSum()
+# this splits numbers from 0 to 10M into 10 batches, and then sum each batch in parallel, and then sum the results of each batch
+
+# executing task in multiple processes on multiple computers
+range(10_000_000) | batched(1_000_000) | applyCl(toSum()) | toSum()
+```
+
+You can combine these "cli tools" together in really complex ways to do really complex
+manipulation really fast and with little code. Hell, you can even create a full blown
+PyTorch dataloader from scratch where you're in control of every detail, operating in 7
+dimensions, in multiple processes on multiple nodes, in just 6 lines of code. Check over
+the basics of it here: [k1lib.cli](https://k1lib.com/latest/cli/index.html).
+
+After doing that, you can check out the tutorials to get a large overview of how everything
+integrates together nicely.
+
+## Some details
+
+- Repo: https://github.com/157239n/k1lib/
+- Docs: https://k1lib.com
+
+## Contacts?
+
+If you found bugs, open a new issue on the repo itself. If you want to have a chat, then email me at 157239q@gmail.com
+
+If you want to get an overview of how the repo is structured, read [contributing.md](contributing.md)
+
+
+%package -n python3-k1lib
+Summary: Some nice ML overhaul
+Provides: python-k1lib
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-k1lib
+# k1lib
+
+This library enables piping in Python, and has a lot of prebuilt piping tools
+to support this workflow.
+
+## Installation
+
+```bash
+ pip install k1lib[all]
+```
+
+This will install lots of heavy dependencies like PyTorch. If you want to install
+the leanest version of the library, do this instead:
+
+```bash
+ pip install k1lib
+```
+
+To use it in a notebook, do this:
+
+```python
+ from k1lib.imports import *
+```
+
+Check out the source code for "k1lib.imports" if you're curious what it's
+importing. If you hate \* imports for whatever reason, you can import cli
+tools individually, like this::
+
+```python
+ from k1lib.cli import ls, cat, grep, apply, batched, display
+```
+
+## Examples
+
+```python
+# returns [0, 1, 4, 9, 16], kinda like map
+range(5) | apply(lambda x: x**2) | deref()
+
+# plotting the function y = x^2
+x = np.linspace(-2, 2); y = x**2
+plt.plot(x, y) # normal way
+[x, y] | ~aS(plt.plot) # pipe way
+
+# plotting the functions y = x**2, y = x**3, y = x**4
+x = np.linspace(-2, 2)
+[2, 3, 4] | apply(lambda exp: [x, x**exp]) | ~apply(plt.plot) | deref()
+
+# loading csv file and displaying first 10 rows in a nice table
+cat("abc.csv") | apply(lambda x: x.split(",")) | display()
+
+# searching for "gene_name: ..." lines in a file and display a nice overview of just the gene names alone
+cat("abc.txt") | grep("gene_name: ") | apply(lambda x: x.split(": ")[1]) | batched(4) | display()
+
+# manipulate numpy arrays and pytorch tensors
+a = np.random.randn(3, 4, 5)
+a | transpose() | shape() # returns (4, 3, 5)
+a | transpose(0, 2) | shape() # returns (5, 4, 3)
+
+# loading images from categories and splitting them into train and valid sets. Image url: dataset/categoryA/image1.jpg
+train, valid = ls("dataset") | apply(ls() | splitW()) | transpose() | deref()
+# shape of output is (train/valid, category, image url). It was (category, train/valid, image url) before going through transpose()
+
+# executing task in multiple processes
+range(10_000_000) | batched(1_000_000) | applyMp(toSum()) | toSum()
+# this splits numbers from 0 to 10M into 10 batches, and then sum each batch in parallel, and then sum the results of each batch
+
+# executing task in multiple processes on multiple computers
+range(10_000_000) | batched(1_000_000) | applyCl(toSum()) | toSum()
+```
+
+You can combine these "cli tools" together in really complex ways to do really complex
+manipulation really fast and with little code. Hell, you can even create a full blown
+PyTorch dataloader from scratch where you're in control of every detail, operating in 7
+dimensions, in multiple processes on multiple nodes, in just 6 lines of code. Check over
+the basics of it here: [k1lib.cli](https://k1lib.com/latest/cli/index.html).
+
+After doing that, you can check out the tutorials to get a large overview of how everything
+integrates together nicely.
+
+## Some details
+
+- Repo: https://github.com/157239n/k1lib/
+- Docs: https://k1lib.com
+
+## Contacts?
+
+If you found bugs, open a new issue on the repo itself. If you want to have a chat, then email me at 157239q@gmail.com
+
+If you want to get an overview of how the repo is structured, read [contributing.md](contributing.md)
+
+
+%package help
+Summary: Development documents and examples for k1lib
+Provides: python3-k1lib-doc
+%description help
+# k1lib
+
+This library enables piping in Python, and has a lot of prebuilt piping tools
+to support this workflow.
+
+## Installation
+
+```bash
+ pip install k1lib[all]
+```
+
+This will install lots of heavy dependencies like PyTorch. If you want to install
+the leanest version of the library, do this instead:
+
+```bash
+ pip install k1lib
+```
+
+To use it in a notebook, do this:
+
+```python
+ from k1lib.imports import *
+```
+
+Check out the source code for "k1lib.imports" if you're curious what it's
+importing. If you hate \* imports for whatever reason, you can import cli
+tools individually, like this::
+
+```python
+ from k1lib.cli import ls, cat, grep, apply, batched, display
+```
+
+## Examples
+
+```python
+# returns [0, 1, 4, 9, 16], kinda like map
+range(5) | apply(lambda x: x**2) | deref()
+
+# plotting the function y = x^2
+x = np.linspace(-2, 2); y = x**2
+plt.plot(x, y) # normal way
+[x, y] | ~aS(plt.plot) # pipe way
+
+# plotting the functions y = x**2, y = x**3, y = x**4
+x = np.linspace(-2, 2)
+[2, 3, 4] | apply(lambda exp: [x, x**exp]) | ~apply(plt.plot) | deref()
+
+# loading csv file and displaying first 10 rows in a nice table
+cat("abc.csv") | apply(lambda x: x.split(",")) | display()
+
+# searching for "gene_name: ..." lines in a file and display a nice overview of just the gene names alone
+cat("abc.txt") | grep("gene_name: ") | apply(lambda x: x.split(": ")[1]) | batched(4) | display()
+
+# manipulate numpy arrays and pytorch tensors
+a = np.random.randn(3, 4, 5)
+a | transpose() | shape() # returns (4, 3, 5)
+a | transpose(0, 2) | shape() # returns (5, 4, 3)
+
+# loading images from categories and splitting them into train and valid sets. Image url: dataset/categoryA/image1.jpg
+train, valid = ls("dataset") | apply(ls() | splitW()) | transpose() | deref()
+# shape of output is (train/valid, category, image url). It was (category, train/valid, image url) before going through transpose()
+
+# executing task in multiple processes
+range(10_000_000) | batched(1_000_000) | applyMp(toSum()) | toSum()
+# this splits numbers from 0 to 10M into 10 batches, and then sum each batch in parallel, and then sum the results of each batch
+
+# executing task in multiple processes on multiple computers
+range(10_000_000) | batched(1_000_000) | applyCl(toSum()) | toSum()
+```
+
+You can combine these "cli tools" together in really complex ways to do really complex
+manipulation really fast and with little code. Hell, you can even create a full blown
+PyTorch dataloader from scratch where you're in control of every detail, operating in 7
+dimensions, in multiple processes on multiple nodes, in just 6 lines of code. Check over
+the basics of it here: [k1lib.cli](https://k1lib.com/latest/cli/index.html).
+
+After doing that, you can check out the tutorials to get a large overview of how everything
+integrates together nicely.
+
+## Some details
+
+- Repo: https://github.com/157239n/k1lib/
+- Docs: https://k1lib.com
+
+## Contacts?
+
+If you found bugs, open a new issue on the repo itself. If you want to have a chat, then email me at 157239q@gmail.com
+
+If you want to get an overview of how the repo is structured, read [contributing.md](contributing.md)
+
+
+%prep
+%autosetup -n k1lib.linux-x86_64-1.4
+
+%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-k1lib -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..71f8f03
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c1db910c9bd40d9e2a6e227e42958f00 k1lib-1.4.linux-x86_64.tar.gz