fvid/setup.py

131 lines
4.8 KiB
Python

import os
import codecs
from setuptools import setup
from setuptools import Extension
from setuptools.command.build_ext import build_ext
try:
from Cython.Build import cythonize
except ImportError:
use_cython = False
ext = 'c'
else:
use_cython = True
ext = 'pyx'
try:
if not use_cython:
extensions = [Extension("fvid.fvid_cython", ["fvid/fvid_cython.c"], include_dirs=["./fvid", "fvid/"])]
else:
extensions = [Extension("fvid.fvid_cython", ["fvid/fvid_cython.pyx"], include_dirs=["./fvid", "fvid/"])]
extensions = cythonize(extensions, compiler_directives={'language_level': "3", 'infer_types': True})
except: # blanket exception until the exact exception name is found
extensions = []
with open("README.md", "r") as fh:
long_description = fh.read()
def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), "r") as fp:
return fp.read()
def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith("__version__"):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")
dynamic_version = get_version("fvid/__init__.py")
try:
setup(
name="fvid",
version=dynamic_version,
author="Alfredo Sequeida",
description="fvid is a project that aims to encode any file as a video using 1-bit color images to survive compression algorithms for data retrieval.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/AlfredoSequeida/fvid",
download_url="https://github.com/AlfredoSequeida/fvid/archive/"
+ dynamic_version
+ ".tar.gz",
keywords="fvid youtube videos files bitdum hexdump ffmpeg video file",
platforms="any",
classifiers=[
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Operating System :: Microsoft :: Windows :: Windows 10",
"Operating System :: Microsoft :: Windows :: Windows 8",
"Operating System :: Microsoft :: Windows :: Windows 8.1",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
],
license="MIT",
packages=["fvid"],
install_requires=[
"bitstring >= 3.1.6",
"pillow >= 7.2.0",
"tqdm >= 4.49.0",
"cryptography >= 3.1.1",
"pycryptodome >= 3.9.8"
],
python_requires=">=3.6",
entry_points={"console_scripts": ["fvid = fvid.fvid:main"]},
cmdclass={'build_ext': build_ext},
ext_modules=extensions,
include_package_data=True,
zip_safe=False,
)
except:
setup(
name="fvid",
version=dynamic_version,
author="Alfredo Sequeida",
description="fvid is a project that aims to encode any file as a video using 1-bit color images to survive compression algorithms for data retrieval.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/AlfredoSequeida/fvid",
download_url="https://github.com/AlfredoSequeida/fvid/archive/"
+ dynamic_version
+ ".tar.gz",
keywords="fvid youtube videos files bitdum hexdump ffmpeg video file",
platforms="any",
classifiers=[
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Operating System :: Microsoft :: Windows :: Windows 10",
"Operating System :: Microsoft :: Windows :: Windows 8",
"Operating System :: Microsoft :: Windows :: Windows 8.1",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
],
license="MIT",
packages=["fvid"],
install_requires=[
"bitstring >= 3.1.6",
"pillow >= 7.2.0",
"tqdm >= 4.49.0",
"cryptography >= 3.1.1",
"pycryptodome >= 3.9.8"
],
python_requires=">=3.6",
entry_points={"console_scripts": ["fvid = fvid.fvid:main"]},
include_package_data=True,
)