diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 14:11:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 14:11:17 +0000 |
commit | 9e070933e3059ba1ced8a0c980cd008561b8a837 (patch) | |
tree | 0449fa86e7cf23e2e7005dc2d5c3f40585ced6c9 | |
parent | 97252e917600742c848f3477a83cc9e4e03ce8db (diff) |
automatic import of python-nanoid
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-nanoid.spec | 378 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 380 insertions, 0 deletions
@@ -0,0 +1 @@ +/nanoid-2.0.0.tar.gz diff --git a/python-nanoid.spec b/python-nanoid.spec new file mode 100644 index 0000000..664718f --- /dev/null +++ b/python-nanoid.spec @@ -0,0 +1,378 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nanoid +Version: 2.0.0 +Release: 1 +Summary: A tiny, secure, URL-friendly, unique string ID generator for Python +License: MIT +URL: https://github.com/puyuan/py-nanoid +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b7/9d/0250bf5935d88e214df469d35eccc0f6ff7e9db046fc8a9aeb4b2a192775/nanoid-2.0.0.tar.gz +BuildArch: noarch + + +%description +# Nano ID + +[](https://circleci.com/gh/puyuan/py-nanoid/tree/master) + +A tiny, secure, URL-friendly, unique string ID generator for Python. + +* __Safe__. It uses cryptographically strong random APIs and tests distribution of symbols; +* __Compact__. It uses a larger alphabet than UUID (A-Za-z0-9_-). So ID size was reduced from 36 to 21 symbols. + +## Usage + +Install Nano ID using pip: + +``` +pip install nanoid +``` + +### Normal + +The main module uses URL-friendly symbols (A-Za-z0-9_-) and returns an ID with 21 characters (to have a collision probability similar to UUID v4). + + +```python +from nanoid import generate + +generate() # => NDzkGoTCdRcaRyt7GOepg +``` + +Symbols `-,.()` are not encoded in the URL. If used at the end of a link they could be identified as a punctuation symbol. + +If you want to reduce ID length (and increase collisions probability), you can pass the length as an argument. + +```python +from nanoid import generate + +generate(size=10) # => "IRFa-VaY2b" + +``` + +Don’t forget to check the safety of your ID length in ID [collision probability calculator](https://zelark.github.io/nano-id-cc/). + + +## Custom Alphabet or Length + +If you want to change the ID's alphabet or length you can use the internal generate module. + +```python +from nanoid import generate + +generate('1234567890abcdef', 10) # => "4f9zd13a42" +``` + +Non-secure API is also available: + +```python +from nanoid import non_secure_generate + +non_secure_generate('1234567890abcdef', 10) +``` + +## Tools + +* [ID size calculator](https://zelark.github.io/nano-id-cc/) to choice smaller ID size depends on your case. +nanoid-dictionary with popular alphabets to use with nanoid/generate; +* [`nanoid-dictionary`](https://github.com/aidarkhanov/py-nanoid-dictionary) with popular alphabets to use. + + + +## Other Programming Languages + +* [C#](https://github.com/codeyu/nanoid-net) +* [Clojure and ClojureScript](https://github.com/zelark/nano-id) +* [Crystal](https://github.com/mamantoha/nanoid.cr) +* [Dart](https://github.com/pd4d10/nanoid) +* [Go](https://github.com/matoous/go-nanoid) +* [Elixir](https://github.com/railsmechanic/nanoid) +* [Haskell](https://github.com/4e6/nanoid-hs) +* [Java](https://github.com/aventrix/jnanoid) +* [JavaScript](https://github.com/ai/nanoid) +* [Nim](https://github.com/icyphox/nanoid.nim) +* [PHP](https://github.com/hidehalo/nanoid-php) +* [Ruby](https://github.com/radeno/nanoid.rb) +* [Rust](https://github.com/nikolay-govorov/nanoid) +* [Swift](https://github.com/antiflasher/NanoID) + + +## Changelog +- v2.0.0 + - Replace ~ to - in default alphabet + - Add non-secure fast generator + - Reduce default characters from 22 to 21 +- v0.3.0 + - Fix array out of bound error. + +## Credits + +- Andrey Sitnik for [Nano ID](https://github.com/ai/nanoid); +- [Dair Aidarkhanov](https://github.com/aidarkhanov) for main contribution to v2.0, and adding test cases. +- Aleksandr Zhuravlev for [ID collision probability](https://zelark.github.io/nano-id-cc/). + + + + + +%package -n python3-nanoid +Summary: A tiny, secure, URL-friendly, unique string ID generator for Python +Provides: python-nanoid +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nanoid +# Nano ID + +[](https://circleci.com/gh/puyuan/py-nanoid/tree/master) + +A tiny, secure, URL-friendly, unique string ID generator for Python. + +* __Safe__. It uses cryptographically strong random APIs and tests distribution of symbols; +* __Compact__. It uses a larger alphabet than UUID (A-Za-z0-9_-). So ID size was reduced from 36 to 21 symbols. + +## Usage + +Install Nano ID using pip: + +``` +pip install nanoid +``` + +### Normal + +The main module uses URL-friendly symbols (A-Za-z0-9_-) and returns an ID with 21 characters (to have a collision probability similar to UUID v4). + + +```python +from nanoid import generate + +generate() # => NDzkGoTCdRcaRyt7GOepg +``` + +Symbols `-,.()` are not encoded in the URL. If used at the end of a link they could be identified as a punctuation symbol. + +If you want to reduce ID length (and increase collisions probability), you can pass the length as an argument. + +```python +from nanoid import generate + +generate(size=10) # => "IRFa-VaY2b" + +``` + +Don’t forget to check the safety of your ID length in ID [collision probability calculator](https://zelark.github.io/nano-id-cc/). + + +## Custom Alphabet or Length + +If you want to change the ID's alphabet or length you can use the internal generate module. + +```python +from nanoid import generate + +generate('1234567890abcdef', 10) # => "4f9zd13a42" +``` + +Non-secure API is also available: + +```python +from nanoid import non_secure_generate + +non_secure_generate('1234567890abcdef', 10) +``` + +## Tools + +* [ID size calculator](https://zelark.github.io/nano-id-cc/) to choice smaller ID size depends on your case. +nanoid-dictionary with popular alphabets to use with nanoid/generate; +* [`nanoid-dictionary`](https://github.com/aidarkhanov/py-nanoid-dictionary) with popular alphabets to use. + + + +## Other Programming Languages + +* [C#](https://github.com/codeyu/nanoid-net) +* [Clojure and ClojureScript](https://github.com/zelark/nano-id) +* [Crystal](https://github.com/mamantoha/nanoid.cr) +* [Dart](https://github.com/pd4d10/nanoid) +* [Go](https://github.com/matoous/go-nanoid) +* [Elixir](https://github.com/railsmechanic/nanoid) +* [Haskell](https://github.com/4e6/nanoid-hs) +* [Java](https://github.com/aventrix/jnanoid) +* [JavaScript](https://github.com/ai/nanoid) +* [Nim](https://github.com/icyphox/nanoid.nim) +* [PHP](https://github.com/hidehalo/nanoid-php) +* [Ruby](https://github.com/radeno/nanoid.rb) +* [Rust](https://github.com/nikolay-govorov/nanoid) +* [Swift](https://github.com/antiflasher/NanoID) + + +## Changelog +- v2.0.0 + - Replace ~ to - in default alphabet + - Add non-secure fast generator + - Reduce default characters from 22 to 21 +- v0.3.0 + - Fix array out of bound error. + +## Credits + +- Andrey Sitnik for [Nano ID](https://github.com/ai/nanoid); +- [Dair Aidarkhanov](https://github.com/aidarkhanov) for main contribution to v2.0, and adding test cases. +- Aleksandr Zhuravlev for [ID collision probability](https://zelark.github.io/nano-id-cc/). + + + + + +%package help +Summary: Development documents and examples for nanoid +Provides: python3-nanoid-doc +%description help +# Nano ID + +[](https://circleci.com/gh/puyuan/py-nanoid/tree/master) + +A tiny, secure, URL-friendly, unique string ID generator for Python. + +* __Safe__. It uses cryptographically strong random APIs and tests distribution of symbols; +* __Compact__. It uses a larger alphabet than UUID (A-Za-z0-9_-). So ID size was reduced from 36 to 21 symbols. + +## Usage + +Install Nano ID using pip: + +``` +pip install nanoid +``` + +### Normal + +The main module uses URL-friendly symbols (A-Za-z0-9_-) and returns an ID with 21 characters (to have a collision probability similar to UUID v4). + + +```python +from nanoid import generate + +generate() # => NDzkGoTCdRcaRyt7GOepg +``` + +Symbols `-,.()` are not encoded in the URL. If used at the end of a link they could be identified as a punctuation symbol. + +If you want to reduce ID length (and increase collisions probability), you can pass the length as an argument. + +```python +from nanoid import generate + +generate(size=10) # => "IRFa-VaY2b" + +``` + +Don’t forget to check the safety of your ID length in ID [collision probability calculator](https://zelark.github.io/nano-id-cc/). + + +## Custom Alphabet or Length + +If you want to change the ID's alphabet or length you can use the internal generate module. + +```python +from nanoid import generate + +generate('1234567890abcdef', 10) # => "4f9zd13a42" +``` + +Non-secure API is also available: + +```python +from nanoid import non_secure_generate + +non_secure_generate('1234567890abcdef', 10) +``` + +## Tools + +* [ID size calculator](https://zelark.github.io/nano-id-cc/) to choice smaller ID size depends on your case. +nanoid-dictionary with popular alphabets to use with nanoid/generate; +* [`nanoid-dictionary`](https://github.com/aidarkhanov/py-nanoid-dictionary) with popular alphabets to use. + + + +## Other Programming Languages + +* [C#](https://github.com/codeyu/nanoid-net) +* [Clojure and ClojureScript](https://github.com/zelark/nano-id) +* [Crystal](https://github.com/mamantoha/nanoid.cr) +* [Dart](https://github.com/pd4d10/nanoid) +* [Go](https://github.com/matoous/go-nanoid) +* [Elixir](https://github.com/railsmechanic/nanoid) +* [Haskell](https://github.com/4e6/nanoid-hs) +* [Java](https://github.com/aventrix/jnanoid) +* [JavaScript](https://github.com/ai/nanoid) +* [Nim](https://github.com/icyphox/nanoid.nim) +* [PHP](https://github.com/hidehalo/nanoid-php) +* [Ruby](https://github.com/radeno/nanoid.rb) +* [Rust](https://github.com/nikolay-govorov/nanoid) +* [Swift](https://github.com/antiflasher/NanoID) + + +## Changelog +- v2.0.0 + - Replace ~ to - in default alphabet + - Add non-secure fast generator + - Reduce default characters from 22 to 21 +- v0.3.0 + - Fix array out of bound error. + +## Credits + +- Andrey Sitnik for [Nano ID](https://github.com/ai/nanoid); +- [Dair Aidarkhanov](https://github.com/aidarkhanov) for main contribution to v2.0, and adding test cases. +- Aleksandr Zhuravlev for [ID collision probability](https://zelark.github.io/nano-id-cc/). + + + + + +%prep +%autosetup -n nanoid-2.0.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-nanoid -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.0-1 +- Package Spec generated @@ -0,0 +1 @@ +84e2b2db9264e5e0ee9c13481ff46903 nanoid-2.0.0.tar.gz |