-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
72 lines (68 loc) · 2.71 KB
/
setup.py
File metadata and controls
72 lines (68 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import sys, os, platform
from Cython.Build import cythonize
from setuptools.command.build_py import build_py
from setuptools import setup, find_packages, Extension
from fluidframe.utilities.package_manager import get_node_manager
sys.dont_write_bytecode = True
class CustomBuild(build_py):
def run(self):
node_manager = get_node_manager()
if not node_manager.check_node_installed():
node_manager.install_node()
build_py.run(self)
print("FluidFrame build complete, start a project by running `fluidframe init <project_name>`")
extensions = [
Extension(
"fluidframe.core.tags.tags",
["fluidframe/core/tags/tags.pyx"],
extra_link_args = ["-O3"] if platform.system() != "Windows" else [],
extra_compile_args = ["-O3"] if platform.system() != "Windows" else [],
py_limited_api = True
)
]
setup(
name='fluidframe',
version='0.0.1',
author='Aswanth C Manoj',
author_email='aswanthmanoj51@gmail.com',
description="FluidFrame is a powerful, pythonic web application framework that embraces the simplicity and capability of hypermedia concepts. It combines Python's elegance with HTMX's innovative approach to create dynamic, interactive web applications without the need for complex JavaScript.",
long_description=open('README.md').read(),
long_description_content_type="text/markdown",
url='https://github.com/AswanthManoj/fluidframe',
packages=find_packages(include=["fluidframe", "fluidframe.*"]),
classifiers=[
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Web Development :: Libraries :: Node Modules",
"Topic :: Software Development :: Libraries :: Application Frameworks",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
"Framework :: AsyncIO",
"Environment :: Web Environment",
"Natural Language :: English",
"Typing :: Typed",
],
entry_points={
'console_scripts': [
'fluidframe=fluidframe.cli:main',
],
},
cmdclass={
'build_py': CustomBuild,
},
include_package_data=True,
package_data={
'fluidframe': [
'core/tags/*.pyi',
'node_modules/**/*',
],
},
python_requires='>=3.10',
ext_modules=cythonize(extensions, language_level="3"),
)