Skip to content

Commit d606983

Browse files
committed
Initial commit
0 parents  commit d606983

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2777
-0
lines changed

.bumpversion.cfg

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[bumpversion]
2+
current_version = 0.0.0
3+
commit = True
4+
tag = True
5+
6+
[bumpversion:file:setup.py]
7+
search = version='{current_version}'
8+
replace = version='{new_version}'
9+
10+
[bumpversion:file (badge):README.rst]
11+
search = /v{current_version}.svg
12+
replace = /v{new_version}.svg
13+
14+
[bumpversion:file (link):README.rst]
15+
search = /v{current_version}...main
16+
replace = /v{new_version}...main
17+
18+
[bumpversion:file:docs/conf.py]
19+
search = version = release = '{current_version}'
20+
replace = version = release = '{new_version}'
21+
22+
[bumpversion:file:src/puid/__init__.py]
23+
search = __version__ = '{current_version}'
24+
replace = __version__ = '{new_version}'

.cookiecutterrc

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# This file exists so you can easily regenerate your project.
2+
#
3+
# `cookiepatcher` is a convenient shim around `cookiecutter`
4+
# for regenerating projects (it will generate a .cookiecutterrc
5+
# automatically for any template). To use it:
6+
#
7+
# pip install cookiepatcher
8+
# cookiepatcher gh:ionelmc/cookiecutter-pylibrary puid
9+
#
10+
# See:
11+
# https://pypi.org/project/cookiepatcher
12+
#
13+
# Alternatively, you can run:
14+
#
15+
# cookiecutter --overwrite-if-exists --config-file=puid/.cookiecutterrc gh:ionelmc/cookiecutter-pylibrary
16+
17+
default_context:
18+
19+
_extensions: ['jinja2_time.TimeExtension']
20+
_output_dir: '/Users/wcpr/Dev/projects/knoxen/puid/python'
21+
_template: 'gh:ionelmc/cookiecutter-pypackage'
22+
allow_tests_inside_package: 'no'
23+
appveyor: 'no'
24+
c_extension_function: 'longest'
25+
c_extension_module: '_puid'
26+
c_extension_optional: 'no'
27+
c_extension_support: 'no'
28+
c_extension_test_pypi: 'no'
29+
c_extension_test_pypi_username: 'puid'
30+
codacy: 'no'
31+
codacy_projectid: '[Get ID from https://app.codacy.com/gh/puid/puid/settings]'
32+
codeclimate: 'no'
33+
codecov: 'yes'
34+
command_line_interface: 'plain'
35+
command_line_interface_bin_name: 'puid'
36+
coveralls: 'no'
37+
distribution_name: 'puid'
38+
39+
full_name: 'Paul Rogers'
40+
github_actions: 'yes'
41+
github_actions_osx: 'yes'
42+
github_actions_windows: 'no'
43+
legacy_python: 'no'
44+
license: 'MIT license'
45+
linter: 'flake8'
46+
package_name: 'puid'
47+
pre_commit: 'yes'
48+
pre_commit_formatter: 'black'
49+
project_name: 'puid'
50+
project_short_description: 'Simple, fast, flexible and efficient generation of probably unique identifiers (`puid`, aka random strings) of intuitively specified entropy using pre-defined or custom characters'
51+
pypi_badge: 'yes'
52+
pypi_disable_upload: 'no'
53+
release_date: 'today'
54+
repo_hosting: 'github.com'
55+
repo_hosting_domain: 'github.com'
56+
repo_main_branch: 'main'
57+
repo_name: 'puid'
58+
repo_username: 'puid'
59+
requiresio: 'no'
60+
scrutinizer: 'no'
61+
setup_py_uses_pytest_runner: 'yes'
62+
setup_py_uses_setuptools_scm: 'no'
63+
sphinx_docs: 'yes'
64+
sphinx_docs_hosting: 'https://puid.readthedocs.io/'
65+
sphinx_doctest: 'yes'
66+
sphinx_theme: 'sphinx-py3doc-enhanced-theme'
67+
test_matrix_configurator: 'no'
68+
test_matrix_separate_coverage: 'no'
69+
travis: 'yes'
70+
travis_osx: 'yes'
71+
version: '0.0.0'
72+
version_manager: 'bump2version'
73+
website: 'https://github.com/puid/python'
74+
year_from: '2022'
75+
year_to: '2022'

.coveragerc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[paths]
2+
source =
3+
src
4+
*/site-packages
5+
6+
[run]
7+
branch = True
8+
source =
9+
puid
10+
tests
11+
omit =
12+
**/__main__.py
13+
**/cli.py
14+
parallel = true
15+
16+
[report]
17+
show_missing = true
18+
precision = 2
19+
omit = *migrations*

.editorconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# see https://editorconfig.org/
2+
root = true
3+
4+
[*]
5+
# Use Unix-style newlines for most files (except Windows files, see below).
6+
end_of_line = lf
7+
trim_trailing_whitespace = true
8+
indent_style = space
9+
insert_final_newline = true
10+
indent_size = 2
11+
charset = utf-8
12+
13+
[*.{bat,cmd,ps1}]
14+
end_of_line = crlf
15+
16+
[*.{yml,yaml}]
17+
indent_size = 2
18+
19+
[*.tsv]
20+
indent_style = tab
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: build
2+
on: [push, pull_request]
3+
jobs:
4+
test:
5+
name: ${{ matrix.name }}
6+
runs-on: ${{ matrix.os }}
7+
timeout-minutes: 30
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
include:
12+
- name: 'check'
13+
python: '3.9'
14+
toxpython: 'python3.9'
15+
tox_env: 'check'
16+
os: 'ubuntu-latest'
17+
- name: 'docs'
18+
python: '3.9'
19+
toxpython: 'python3.9'
20+
tox_env: 'docs'
21+
os: 'ubuntu-latest'
22+
- name: 'py37 (ubuntu)'
23+
python: '3.7'
24+
toxpython: 'python3.7'
25+
python_arch: 'x64'
26+
tox_env: 'py37'
27+
os: 'ubuntu-latest'
28+
- name: 'py37 (macos)'
29+
python: '3.7'
30+
toxpython: 'python3.7'
31+
python_arch: 'x64'
32+
tox_env: 'py37'
33+
os: 'macos-latest'
34+
- name: 'py38 (ubuntu)'
35+
python: '3.8'
36+
toxpython: 'python3.8'
37+
python_arch: 'x64'
38+
tox_env: 'py38'
39+
os: 'ubuntu-latest'
40+
- name: 'py38 (macos)'
41+
python: '3.8'
42+
toxpython: 'python3.8'
43+
python_arch: 'x64'
44+
tox_env: 'py38'
45+
os: 'macos-latest'
46+
- name: 'py39 (ubuntu)'
47+
python: '3.9'
48+
toxpython: 'python3.9'
49+
python_arch: 'x64'
50+
tox_env: 'py39'
51+
os: 'ubuntu-latest'
52+
- name: 'py39 (macos)'
53+
python: '3.9'
54+
toxpython: 'python3.9'
55+
python_arch: 'x64'
56+
tox_env: 'py39'
57+
os: 'macos-latest'
58+
- name: 'py310 (ubuntu)'
59+
python: '3.10'
60+
toxpython: 'python3.10'
61+
python_arch: 'x64'
62+
tox_env: 'py310'
63+
os: 'ubuntu-latest'
64+
- name: 'py310 (macos)'
65+
python: '3.10'
66+
toxpython: 'python3.10'
67+
python_arch: 'x64'
68+
tox_env: 'py310'
69+
os: 'macos-latest'
70+
- name: 'pypy37 (ubuntu)'
71+
python: 'pypy-3.7'
72+
toxpython: 'pypy3.7'
73+
python_arch: 'x64'
74+
tox_env: 'pypy37'
75+
os: 'ubuntu-latest'
76+
- name: 'pypy37 (macos)'
77+
python: 'pypy-3.7'
78+
toxpython: 'pypy3.7'
79+
python_arch: 'x64'
80+
tox_env: 'pypy37'
81+
os: 'macos-latest'
82+
- name: 'pypy38 (ubuntu)'
83+
python: 'pypy-3.8'
84+
toxpython: 'pypy3.8'
85+
python_arch: 'x64'
86+
tox_env: 'pypy38'
87+
os: 'ubuntu-latest'
88+
- name: 'pypy38 (macos)'
89+
python: 'pypy-3.8'
90+
toxpython: 'pypy3.8'
91+
python_arch: 'x64'
92+
tox_env: 'pypy38'
93+
os: 'macos-latest'
94+
steps:
95+
- uses: actions/checkout@v2
96+
with:
97+
fetch-depth: 0
98+
- uses: actions/setup-python@v2
99+
with:
100+
python-version: ${{ matrix.python }}
101+
architecture: ${{ matrix.python_arch }}
102+
- name: install dependencies
103+
run: |
104+
python -mpip install --progress-bar=off -r ci/requirements.txt
105+
virtualenv --version
106+
pip --version
107+
tox --version
108+
pip list --format=freeze
109+
- name: test
110+
env:
111+
TOXPYTHON: '${{ matrix.toxpython }}'
112+
run: >
113+
tox -e ${{ matrix.tox_env }} -v

.gitignore

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
*.py[cod]
2+
__pycache__
3+
4+
# C extensions
5+
*.so
6+
7+
# Packages
8+
*.egg
9+
*.egg-info
10+
dist
11+
build
12+
eggs
13+
.eggs
14+
parts
15+
bin
16+
var
17+
sdist
18+
wheelhouse
19+
develop-eggs
20+
.installed.cfg
21+
lib
22+
lib64
23+
venv*/
24+
pyvenv*/
25+
pip-wheel-metadata/
26+
27+
# Installer logs
28+
pip-log.txt
29+
30+
# Unit test / coverage reports
31+
.coverage
32+
.tox
33+
.coverage.*
34+
.pytest_cache/
35+
nosetests.xml
36+
coverage.xml
37+
htmlcov
38+
39+
# Translations
40+
*.mo
41+
42+
# Buildout
43+
.mr.developer.cfg
44+
45+
# IDE project files
46+
.project
47+
.pydevproject
48+
.idea
49+
.vscode
50+
*.iml
51+
*.komodoproject
52+
53+
# Complexity
54+
output/*.html
55+
output/*/index.html
56+
57+
# Sphinx
58+
docs/_build
59+
60+
.DS_Store
61+
*~
62+
.*.sw[po]
63+
.build
64+
.ve
65+
.env
66+
.cache
67+
.pytest
68+
.benchmarks
69+
.bootstrap
70+
.appveyor.token
71+
*.bak
72+
73+
# Mypy Cache
74+
.mypy_cache/

.pre-commit-config.yaml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# To install the git pre-commit hook run:
2+
# pre-commit install
3+
# To update the pre-commit hooks run:
4+
# pre-commit install-hooks
5+
exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg)(/|$)'
6+
repos:
7+
- repo: https://github.com/pre-commit/pre-commit-hooks
8+
rev: master
9+
hooks:
10+
- id: trailing-whitespace
11+
- id: end-of-file-fixer
12+
- id: debug-statements
13+
- repo: https://github.com/timothycrosley/isort
14+
rev: master
15+
hooks:
16+
- id: isort
17+
- repo: https://github.com/psf/black
18+
rev: main
19+
hooks:
20+
- id: black
21+
- repo: https://gitlab.com/pycqa/flake8
22+
rev: master
23+
hooks:
24+
- id: flake8

.readthedocs.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
2+
version: 2
3+
sphinx:
4+
configuration: docs/conf.py
5+
formats: all
6+
python:
7+
install:
8+
- requirements: docs/requirements.txt
9+
- method: pip
10+
path: .

0 commit comments

Comments
 (0)