%global _empty_manifest_terminate_build 0
Name: python-key-generator
Version: 1.0.3
Release: 1
Summary: A Simple python package to generate customizable keys.
License: MIT
URL: https://github.com/Sahith02/key-generator
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/89/76/a82213f901d4a1088fec91b8c34bce615482ade805101dfcea87e251cd77/key_generator-1.0.3.tar.gz
BuildArch: noarch
%description
# key-generator
[](https://badge.fury.io/py/key-generator)
[](https://github.com/Sahith02/key-generator/blob/master/LICENSE)

A simple, yet highly customizable python package to generate professional keys.
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install key_generator.
```bash
pip install key-generator
```
## Usage
```python
from key_generator.key_generator import generate
key = generate(seed = 101)
print(key.get_key()) # be1679-6ae28652eb-fa7cd6-de96-a8cc
key_custom = generate(5, '-', 3, 3, type_of_value = 'hex', capital = 'none', extras = ['%', '&', '^'], seed = 42).get_key()
print(key_custom) # ^54-10e-fa&-%34-e3e
key_custom_2 = generate(2, ['-', ':'], 3, 10, type_of_value = 'char', capital = 'mix', seed = 17).get_key()
print(key_custom_2) # ZLFdHXIUe-ekwJCu
```
## Parameters
| parameter | type | optional | default | description |
|---------------|-------------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| num_of_atom | int | yes | 5 | Number of parts/atoms of the key to be generated. |
| separator | string,list | yes | '-' | Separates the parts/atoms by separator is given a string.
If given a list, randomly chooses separators in between the atoms. |
| min_atom_len | int | yes | 3 | Minimum length of each part/atom. |
| max_atom_len | int | yes | 10 | Maximum length of each part/atom. |
| type_of_value | string | yes | 'hex' | Can be one of the following 3 options: `hex`, `char`, `int`.
`hex` -> key can have values only from 0-9, a-f, or A-F(depending on `capital` parameter).
`char` -> key can have values only from a-z or A-Z(depending on `capital` parameter).
`int` -> key can have values only between 0-9. |
| capital | string | yes | 'none' | Can be one of the following 3 options: `none`, `all`, `mix`.
`none` -> All the values in the generated key will be lowercase.
`all` -> All the values in the generated key will be uppercase.
`mix` -> A mix of both upper and lower case randomly. |
| extras | list | yes | [] | List of extra symbols or characters that you want to include in each part/atom.
Adds these symbols to the bucket to randomly choose characters in the atom. |
| seed | int | yes | None | Choose a seed value for the random key generated.
Returns the same pseudo-random value every time for a given seed value. |
## Testing
Run the following commands and check all tests pass.
```bash
>> git clone https://github.com/Sahith02/key-generator.git
>> cd key-generator/tests
>> python test.py # will show how many tests passed and how many failed
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure all the above tests pass before opening a pull request.
## License
[MIT](https://github.com/Sahith02/key-generator/blob/master/LICENSE)
%package -n python3-key-generator
Summary: A Simple python package to generate customizable keys.
Provides: python-key-generator
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-key-generator
# key-generator
[](https://badge.fury.io/py/key-generator)
[](https://github.com/Sahith02/key-generator/blob/master/LICENSE)

A simple, yet highly customizable python package to generate professional keys.
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install key_generator.
```bash
pip install key-generator
```
## Usage
```python
from key_generator.key_generator import generate
key = generate(seed = 101)
print(key.get_key()) # be1679-6ae28652eb-fa7cd6-de96-a8cc
key_custom = generate(5, '-', 3, 3, type_of_value = 'hex', capital = 'none', extras = ['%', '&', '^'], seed = 42).get_key()
print(key_custom) # ^54-10e-fa&-%34-e3e
key_custom_2 = generate(2, ['-', ':'], 3, 10, type_of_value = 'char', capital = 'mix', seed = 17).get_key()
print(key_custom_2) # ZLFdHXIUe-ekwJCu
```
## Parameters
| parameter | type | optional | default | description |
|---------------|-------------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| num_of_atom | int | yes | 5 | Number of parts/atoms of the key to be generated. |
| separator | string,list | yes | '-' | Separates the parts/atoms by separator is given a string.
If given a list, randomly chooses separators in between the atoms. |
| min_atom_len | int | yes | 3 | Minimum length of each part/atom. |
| max_atom_len | int | yes | 10 | Maximum length of each part/atom. |
| type_of_value | string | yes | 'hex' | Can be one of the following 3 options: `hex`, `char`, `int`.
`hex` -> key can have values only from 0-9, a-f, or A-F(depending on `capital` parameter).
`char` -> key can have values only from a-z or A-Z(depending on `capital` parameter).
`int` -> key can have values only between 0-9. |
| capital | string | yes | 'none' | Can be one of the following 3 options: `none`, `all`, `mix`.
`none` -> All the values in the generated key will be lowercase.
`all` -> All the values in the generated key will be uppercase.
`mix` -> A mix of both upper and lower case randomly. |
| extras | list | yes | [] | List of extra symbols or characters that you want to include in each part/atom.
Adds these symbols to the bucket to randomly choose characters in the atom. |
| seed | int | yes | None | Choose a seed value for the random key generated.
Returns the same pseudo-random value every time for a given seed value. |
## Testing
Run the following commands and check all tests pass.
```bash
>> git clone https://github.com/Sahith02/key-generator.git
>> cd key-generator/tests
>> python test.py # will show how many tests passed and how many failed
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure all the above tests pass before opening a pull request.
## License
[MIT](https://github.com/Sahith02/key-generator/blob/master/LICENSE)
%package help
Summary: Development documents and examples for key-generator
Provides: python3-key-generator-doc
%description help
# key-generator
[](https://badge.fury.io/py/key-generator)
[](https://github.com/Sahith02/key-generator/blob/master/LICENSE)

A simple, yet highly customizable python package to generate professional keys.
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install key_generator.
```bash
pip install key-generator
```
## Usage
```python
from key_generator.key_generator import generate
key = generate(seed = 101)
print(key.get_key()) # be1679-6ae28652eb-fa7cd6-de96-a8cc
key_custom = generate(5, '-', 3, 3, type_of_value = 'hex', capital = 'none', extras = ['%', '&', '^'], seed = 42).get_key()
print(key_custom) # ^54-10e-fa&-%34-e3e
key_custom_2 = generate(2, ['-', ':'], 3, 10, type_of_value = 'char', capital = 'mix', seed = 17).get_key()
print(key_custom_2) # ZLFdHXIUe-ekwJCu
```
## Parameters
| parameter | type | optional | default | description |
|---------------|-------------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| num_of_atom | int | yes | 5 | Number of parts/atoms of the key to be generated. |
| separator | string,list | yes | '-' | Separates the parts/atoms by separator is given a string.
If given a list, randomly chooses separators in between the atoms. |
| min_atom_len | int | yes | 3 | Minimum length of each part/atom. |
| max_atom_len | int | yes | 10 | Maximum length of each part/atom. |
| type_of_value | string | yes | 'hex' | Can be one of the following 3 options: `hex`, `char`, `int`.
`hex` -> key can have values only from 0-9, a-f, or A-F(depending on `capital` parameter).
`char` -> key can have values only from a-z or A-Z(depending on `capital` parameter).
`int` -> key can have values only between 0-9. |
| capital | string | yes | 'none' | Can be one of the following 3 options: `none`, `all`, `mix`.
`none` -> All the values in the generated key will be lowercase.
`all` -> All the values in the generated key will be uppercase.
`mix` -> A mix of both upper and lower case randomly. |
| extras | list | yes | [] | List of extra symbols or characters that you want to include in each part/atom.
Adds these symbols to the bucket to randomly choose characters in the atom. |
| seed | int | yes | None | Choose a seed value for the random key generated.
Returns the same pseudo-random value every time for a given seed value. |
## Testing
Run the following commands and check all tests pass.
```bash
>> git clone https://github.com/Sahith02/key-generator.git
>> cd key-generator/tests
>> python test.py # will show how many tests passed and how many failed
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure all the above tests pass before opening a pull request.
## License
[MIT](https://github.com/Sahith02/key-generator/blob/master/LICENSE)
%prep
%autosetup -n key-generator-1.0.3
%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-key-generator -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Wed May 31 2023 Python_Bot - 1.0.3-1
- Package Spec generated