setup.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. __author__ = 'marcos.medeiros'
  2. """Rapid-Django installation script
  3. """
  4. # Always prefer setuptools over distutils
  5. from setuptools import setup, find_packages
  6. # To use a consistent encoding
  7. from codecs import open
  8. import os
  9. from os import path
  10. def _recursive_find(root, p):
  11. full_p = path.join(root, p)
  12. for f in os.listdir(full_p):
  13. full_f = path.join(full_p, f)
  14. val_f = path.join(p, f)
  15. if path.isdir(full_f):
  16. for ff in _recursive_find(root, val_f):
  17. yield ff
  18. else:
  19. yield val_f
  20. here = path.abspath(path.dirname(__file__))
  21. rapid = path.join('src', 'rapid')
  22. rapid_files = list(_recursive_find(os.path.join(here, rapid), ''))
  23. # Get the long description from the relevant file
  24. with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
  25. long_description = f.read()
  26. setup(
  27. name='rapid-django',
  28. version='0.0.2',
  29. description='Opionated tools for rapid development of enterprise CRUD portals',
  30. long_description=long_description,
  31. # The project's main homepage.
  32. url='https://marcosdumay.com/rapid-django',
  33. # Author details
  34. author='Marcos Dumay de Medeiros',
  35. author_email='marcos@marcosdumay.com',
  36. # Choose your license
  37. license='MIT',
  38. # See https://pypi.python.org/pypi?%3Aaction=list_classifiers
  39. classifiers=[
  40. 'Development Status :: 3 - Alpha',
  41. 'Environment :: Web Environment',
  42. 'Framework :: Django :: 1.8',
  43. 'Intended Audience :: Developers',
  44. 'Topic :: Software Development :: Build Tools',
  45. 'License :: OSI Approved :: MIT License',
  46. 'Natural Language :: Portuguese (Brazilian)',
  47. 'Operating System :: OS Independent',
  48. 'Programming Language :: Python :: 2',
  49. 'Programming Language :: Python :: 2.6',
  50. 'Programming Language :: Python :: 2.7',
  51. #'Programming Language :: Python :: 3',
  52. #'Programming Language :: Python :: 3.2',
  53. #'Programming Language :: Python :: 3.3',
  54. #'Programming Language :: Python :: 3.4',
  55. ],
  56. # What does your project relate to?
  57. keywords='CRUD',
  58. # You can just specify the packages manually here if your project is
  59. # simple. Or you can use find_packages().
  60. packages=['rapid'],
  61. package_dir = {'': 'src'},
  62. zip_safe = False,
  63. # List run-time dependencies here. These will be installed by pip when
  64. # your project is installed. For an analysis of "install_requires" vs pip's
  65. # requirements files see:
  66. # https://packaging.python.org/en/latest/requirements.html
  67. install_requires=['django>=1.8', 'django-datetime-widget>=0.9', 'django-migration-fixture>=0.5', 'six'],
  68. # List additional groups of dependencies here (e.g. development
  69. # dependencies). You can install these using the following syntax,
  70. # for example:
  71. # $ pip install -e .[dev,test]
  72. extras_require={},
  73. # If there are data files included in your packages that need to be
  74. # installed, specify them here. If using Python 2.6 or less, then these
  75. # have to be included in MANIFEST.in as well.
  76. #include_package_data=True,
  77. package_data={
  78. 'rapid': rapid_files,
  79. },
  80. # Although 'package_data' is the preferred approach, in some case you may
  81. # need to place data files outside of your packages. See:
  82. # http://docs.python.org/3.4/distutils/setupscript.html#installing-additional-files # noqa
  83. # In this case, 'data_file' will be installed into '<sys.prefix>/my_data'
  84. data_files=[],
  85. # To provide executable scripts, use entry points in preference to the
  86. # "scripts" keyword. Entry points provide cross-platform support and allow
  87. # pip to create the appropriate form of executable for the target platform.
  88. entry_points={
  89. # 'console_scripts': [
  90. # 'sample=sample:main',
  91. # ],
  92. },
  93. )