feat: prepare PyPi upload
This commit is contained in:
25
.gitignore
vendored
25
.gitignore
vendored
@@ -1,2 +1,25 @@
|
||||
.DS_Store
|
||||
/env-publish/
|
||||
|
||||
__pycache__/
|
||||
*.DS_Store
|
||||
*.py[cod]
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
MANIFEST
|
||||
|
||||
29
Makefile
Normal file
29
Makefile
Normal file
@@ -0,0 +1,29 @@
|
||||
.PHONY: install
|
||||
install:
|
||||
[ -z "$${VIRTUAL_ENV}" ] \
|
||||
&& python3 -m pip install -e . --user \
|
||||
|| python3 -m pip install -e .
|
||||
|
||||
.PHONY: uninstall
|
||||
uninstall:
|
||||
python3 -m pip uninstall abcddb2vcard
|
||||
rm -rf ./*.egg-info/
|
||||
-rm -i "$$(which abcddb2vcard)" "$$(which vcard2img)"
|
||||
|
||||
dist: setup.py abcddb2vcard/*
|
||||
[ -z "$${VIRTUAL_ENV}" ] # you can not do this inside a virtual environment.
|
||||
@echo Building...
|
||||
python3 setup.py sdist bdist_wheel
|
||||
rm -rf ./*.egg-info/ ./build/ MANIFEST
|
||||
|
||||
env-publish:
|
||||
@echo Creating virtual environment...
|
||||
@python3 -m venv 'env-publish'
|
||||
@source env-publish/bin/activate && pip install twine
|
||||
|
||||
.PHONY: publish
|
||||
publish: dist env-publish
|
||||
[ -z "$${VIRTUAL_ENV}" ] # you can not do this inside a virtual environment.
|
||||
@echo Publishing...
|
||||
@echo "\033[0;31mEnter PyPI token in password prompt:\033[0m"
|
||||
@source env-publish/bin/activate && export TWINE_USERNAME='__token__' && twine upload dist/*
|
||||
7
abcddb2vcard/__init__.py
Normal file
7
abcddb2vcard/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
'''
|
||||
Convert AddressBook database (.abcddb) to Contacts VCards file (.vcf)
|
||||
'''
|
||||
__version__ = '1.0.0'
|
||||
|
||||
from .ABCDDB import ABCDDB
|
||||
2
abcddb2vcard/__main__.py
Normal file
2
abcddb2vcard/__main__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env python3
|
||||
from . import abcddb2vcard # execute sub-module code
|
||||
@@ -4,9 +4,12 @@ Extract data from AddressBook database (.abcddb) to Contacts VCards file (.vcf)
|
||||
'''
|
||||
import os
|
||||
import sys
|
||||
from ABCDDB import ABCDDB
|
||||
from pathlib import Path
|
||||
from argparse import ArgumentParser
|
||||
try:
|
||||
from .ABCDDB import ABCDDB
|
||||
except ImportError: # fallback if not run as module
|
||||
from ABCDDB import ABCDDB # type: ignore[import, no-redef]
|
||||
|
||||
|
||||
DB_FILE = str(Path.home().joinpath(
|
||||
@@ -41,3 +44,5 @@ with open(args.output, 'w') as f:
|
||||
for rec in contacts:
|
||||
f.write(rec.makeVCard())
|
||||
print(len(contacts), 'contacts.')
|
||||
|
||||
exit()
|
||||
@@ -51,3 +51,4 @@ for line in args.input.readlines():
|
||||
fw.write(b64decode(img))
|
||||
|
||||
print(c1, 'contacts.', c2, 'images.')
|
||||
exit()
|
||||
56
setup.py
Normal file
56
setup.py
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
from setuptools import setup
|
||||
from abcddb2vcard import __doc__, __version__
|
||||
|
||||
with open('README.md') as fp:
|
||||
longdesc = fp.read()
|
||||
|
||||
setup(
|
||||
name='abcddb2vcard',
|
||||
description=__doc__.strip(),
|
||||
version=__version__,
|
||||
author='relikd',
|
||||
url='https://github.com/relikd/abcddb2vcard',
|
||||
license='MIT',
|
||||
packages=['abcddb2vcard'],
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'abcddb2vcard=abcddb2vcard.abcddb2vcard',
|
||||
'vcard2img=abcddb2vcard.vcard2img',
|
||||
]
|
||||
},
|
||||
long_description_content_type="text/markdown",
|
||||
long_description=longdesc,
|
||||
python_requires='>=3.5',
|
||||
keywords=[
|
||||
'abcddb',
|
||||
'abcd',
|
||||
'address book',
|
||||
'vcard',
|
||||
'contacts',
|
||||
'converter',
|
||||
'export',
|
||||
'backup',
|
||||
],
|
||||
classifiers=[
|
||||
'Development Status :: 5 - Production/Stable',
|
||||
'Environment :: Console',
|
||||
'Environment :: MacOS X',
|
||||
'License :: OSI Approved :: MIT License',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python',
|
||||
'Programming Language :: Python :: 3',
|
||||
'Programming Language :: Python :: 3 :: Only',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
'Programming Language :: Python :: 3.7',
|
||||
'Programming Language :: Python :: 3.8',
|
||||
'Programming Language :: Python :: 3.9',
|
||||
'Programming Language :: Python :: 3.10',
|
||||
'Programming Language :: SQL',
|
||||
'Topic :: Communications :: Email :: Address Book',
|
||||
'Topic :: Software Development :: Libraries :: Python Modules',
|
||||
'Topic :: System :: Archiving :: Backup',
|
||||
'Topic :: Utilities',
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user