setup repo
This commit is contained in:
parent
cd9aacfb18
commit
dede37df91
58
.github/workflows/test-and-upload-to-testpypi.yml
vendored
Normal file
58
.github/workflows/test-and-upload-to-testpypi.yml
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# This is a basic workflow to help you get started with Actions
|
||||||
|
|
||||||
|
name: Test & Upload to TestPyPI
|
||||||
|
|
||||||
|
# Controls when the action will run.
|
||||||
|
on:
|
||||||
|
# Triggers the workflow on push to the master branch
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
# This workflow contains a single job called "build"
|
||||||
|
build:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Sets up python3
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
|
||||||
|
# Installs and upgrades pip, installs other dependencies and installs the package from setup.py
|
||||||
|
- name: "Installs and upgrades pip, installs other dependencies and installs the package from setup.py"
|
||||||
|
run: |
|
||||||
|
# Upgrade pip
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
# Install build deps
|
||||||
|
python3 -m pip install setuptools wheel twine
|
||||||
|
# If requirements.txt exists, install from it
|
||||||
|
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||||
|
# Install the package from setup.py
|
||||||
|
python3 setup.py install
|
||||||
|
|
||||||
|
# Tests with unittest
|
||||||
|
- name: Test with unittest
|
||||||
|
run: |
|
||||||
|
cd tests
|
||||||
|
python3 -m unittest discover
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Upload to TestPyPI
|
||||||
|
- name: Build and Upload to TestPyPI
|
||||||
|
run: |
|
||||||
|
python3 setup.py sdist bdist_wheel
|
||||||
|
python3 -m twine upload dist/*
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: __token__
|
||||||
|
TWINE_PASSWORD: ${{ secrets.TWINE_TEST_TOKEN }}
|
||||||
|
TWINE_REPOSITORY: testpypi
|
43
.github/workflows/upload-to-pip.yml
vendored
Normal file
43
.github/workflows/upload-to-pip.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# This is a basic workflow to help you get started with Actions
|
||||||
|
|
||||||
|
name: Upload to PIP
|
||||||
|
|
||||||
|
# Controls when the action will run.
|
||||||
|
on:
|
||||||
|
# Triggers the workflow when a release is created
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||||
|
jobs:
|
||||||
|
# This workflow contains a single job called "upload"
|
||||||
|
upload:
|
||||||
|
# The type of runner that the job will run on
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# Sets up python
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.8
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
- name: "Installs dependencies"
|
||||||
|
run: |
|
||||||
|
python3 -m pip install --upgrade pip
|
||||||
|
python3 -m pip install setuptools wheel twine
|
||||||
|
|
||||||
|
# Build and upload to PyPI
|
||||||
|
- name: "Builds and uploads to PyPI"
|
||||||
|
run: |
|
||||||
|
python3 setup.py sdist bdist_wheel
|
||||||
|
python3 -m twine upload dist/*
|
||||||
|
env:
|
||||||
|
TWINE_USERNAME: __token__
|
||||||
|
TWINE_PASSWORD: ${{ secrets.TWINE_TOKEN }}
|
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
__pycache__/
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
*.egg-info/
|
||||||
|
*.egg
|
||||||
|
venv/
|
||||||
|
.env
|
0
pydash/__init__.py
Normal file
0
pydash/__init__.py
Normal file
77
setup.py
Normal file
77
setup.py
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
from setuptools import setup, find_packages
|
||||||
|
from os.path import abspath, dirname, join
|
||||||
|
|
||||||
|
# Fetches the content from README.md
|
||||||
|
# This will be used for the "long_description" field.
|
||||||
|
README_MD = open(join(dirname(abspath(__file__)), "README.md")).read()
|
||||||
|
|
||||||
|
setup(
|
||||||
|
# The name of your project that we discussed earlier.
|
||||||
|
# This name will decide what users will type when they install your package.
|
||||||
|
# In my case it will be:
|
||||||
|
# pip install pydash-arnu515
|
||||||
|
# This field is REQUIRED
|
||||||
|
name="pydash-arnu515",
|
||||||
|
|
||||||
|
# The version of your project.
|
||||||
|
# Usually, it would be in the form of:
|
||||||
|
# major.minor.patch
|
||||||
|
# eg: 1.0.0, 1.0.1, 3.0.2, 5.0-beta, etc.
|
||||||
|
# You CANNOT upload two versions of your package with the same version number
|
||||||
|
# This field is REQUIRED
|
||||||
|
version="1.0.1",
|
||||||
|
|
||||||
|
# The packages that constitute your project.
|
||||||
|
# For my project, I have only one - "pydash".
|
||||||
|
# Either you could write the name of the package, or
|
||||||
|
# alternatively use setuptools.findpackages()
|
||||||
|
#
|
||||||
|
# If you only have one file, instead of a package,
|
||||||
|
# you can instead use the py_modules field instead.
|
||||||
|
# EITHER py_modules OR packages should be present.
|
||||||
|
packages=find_packages(exclude="tests"),
|
||||||
|
|
||||||
|
# The description that will be shown on PyPI.
|
||||||
|
# Keep it short and concise
|
||||||
|
# This field is OPTIONAL
|
||||||
|
description="A small clone of lodash",
|
||||||
|
|
||||||
|
# The content that will be shown on your project page.
|
||||||
|
# In this case, we're displaying whatever is there in our README.md file
|
||||||
|
# This field is OPTIONAL
|
||||||
|
long_description=README_MD,
|
||||||
|
|
||||||
|
# Now, we'll tell PyPI what language our README file is in.
|
||||||
|
# In my case it is in Markdown, so I'll write "text/markdown"
|
||||||
|
# Some people use reStructuredText instead, so you should write "text/x-rst"
|
||||||
|
# If your README is just a text file, you have to write "text/plain"
|
||||||
|
# This field is OPTIONAL
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
|
||||||
|
# The url field should contain a link to a git repository, the project's website
|
||||||
|
# or the project's documentation. I'll leave a link to this project's Github repository.
|
||||||
|
# This field is OPTIONAL
|
||||||
|
url="https://github.com/arnu515/pydash",
|
||||||
|
|
||||||
|
# The author name and email fields are self explanatory.
|
||||||
|
# These fields are OPTIONAL
|
||||||
|
author_name="arnu515",
|
||||||
|
author_email="arnu5152@gmail.com",
|
||||||
|
|
||||||
|
# Classifiers help categorize your project.
|
||||||
|
# For a complete list of classifiers, visit:
|
||||||
|
# https://pypi.org/classifiers
|
||||||
|
# This is OPTIONAL
|
||||||
|
classifiers=[
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"Programming Language :: Python :: 3 :: Only"
|
||||||
|
],
|
||||||
|
|
||||||
|
# Keywords are tags that identify your project and help searching for it
|
||||||
|
# This field is OPTIONAL
|
||||||
|
keywords="lodash, string, manipulation",
|
||||||
|
|
||||||
|
# For additional fields, check:
|
||||||
|
# https://github.com/pypa/sampleproject/blob/master/setup.py
|
||||||
|
)
|
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
7
tests/test_string.py
Normal file
7
tests/test_string.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import unittest
|
||||||
|
|
||||||
|
from pydash import PyDash
|
||||||
|
|
||||||
|
|
||||||
|
class Test(unittest.TestCase):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user