add setup.py and package directory
This commit is contained in:
		
							
								
								
									
										0
									
								
								cliff/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								cliff/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										171
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,171 @@ | |||||||
|  | #!/usr/bin/env python | ||||||
|  |  | ||||||
|  | PROJECT = 'cliff' | ||||||
|  |  | ||||||
|  | # Change docs/sphinx/conf.py too! | ||||||
|  | VERSION = '0.1' | ||||||
|  |  | ||||||
|  | # Bootstrap installation of Distribute | ||||||
|  | import distribute_setup | ||||||
|  | distribute_setup.use_setuptools() | ||||||
|  |  | ||||||
|  | from setuptools import setup, find_packages | ||||||
|  |  | ||||||
|  | from distutils.util import convert_path | ||||||
|  | from fnmatch import fnmatchcase | ||||||
|  | import os | ||||||
|  | import sys | ||||||
|  |  | ||||||
|  | try: | ||||||
|  |     long_description = open('README.rst', 'rt').read() | ||||||
|  | except IOError: | ||||||
|  |     long_description = '' | ||||||
|  |  | ||||||
|  | ############################################################################## | ||||||
|  | # find_package_data is an Ian Bicking creation. | ||||||
|  |  | ||||||
|  | # Provided as an attribute, so you can append to these instead | ||||||
|  | # of replicating them: | ||||||
|  | standard_exclude = ('*.py', '*.pyc', '*~', '.*', '*.bak', '*.swp*') | ||||||
|  | standard_exclude_directories = ('.*', 'CVS', '_darcs', './build', | ||||||
|  |                                 './dist', 'EGG-INFO', '*.egg-info') | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def find_package_data( | ||||||
|  |     where='.', package='', | ||||||
|  |     exclude=standard_exclude, | ||||||
|  |     exclude_directories=standard_exclude_directories, | ||||||
|  |     only_in_packages=True, | ||||||
|  |     show_ignored=False): | ||||||
|  |     """ | ||||||
|  |     Return a dictionary suitable for use in ``package_data`` | ||||||
|  |     in a distutils ``setup.py`` file. | ||||||
|  |  | ||||||
|  |     The dictionary looks like:: | ||||||
|  |  | ||||||
|  |         {'package': [files]} | ||||||
|  |  | ||||||
|  |     Where ``files`` is a list of all the files in that package that | ||||||
|  |     don't match anything in ``exclude``. | ||||||
|  |  | ||||||
|  |     If ``only_in_packages`` is true, then top-level directories that | ||||||
|  |     are not packages won't be included (but directories under packages | ||||||
|  |     will). | ||||||
|  |  | ||||||
|  |     Directories matching any pattern in ``exclude_directories`` will | ||||||
|  |     be ignored; by default directories with leading ``.``, ``CVS``, | ||||||
|  |     and ``_darcs`` will be ignored. | ||||||
|  |  | ||||||
|  |     If ``show_ignored`` is true, then all the files that aren't | ||||||
|  |     included in package data are shown on stderr (for debugging | ||||||
|  |     purposes). | ||||||
|  |  | ||||||
|  |     Note patterns use wildcards, or can be exact paths (including | ||||||
|  |     leading ``./``), and all searching is case-insensitive. | ||||||
|  |  | ||||||
|  |     This function is by Ian Bicking. | ||||||
|  |     """ | ||||||
|  |  | ||||||
|  |     out = {} | ||||||
|  |     stack = [(convert_path(where), '', package, only_in_packages)] | ||||||
|  |     while stack: | ||||||
|  |         where, prefix, package, only_in_packages = stack.pop(0) | ||||||
|  |         for name in os.listdir(where): | ||||||
|  |             fn = os.path.join(where, name) | ||||||
|  |             if os.path.isdir(fn): | ||||||
|  |                 bad_name = False | ||||||
|  |                 for pattern in exclude_directories: | ||||||
|  |                     if (fnmatchcase(name, pattern) | ||||||
|  |                         or fn.lower() == pattern.lower()): | ||||||
|  |                         bad_name = True | ||||||
|  |                         if show_ignored: | ||||||
|  |                             print >> sys.stderr, ( | ||||||
|  |                                 "Directory %s ignored by pattern %s" | ||||||
|  |                                 % (fn, pattern)) | ||||||
|  |                         break | ||||||
|  |                 if bad_name: | ||||||
|  |                     continue | ||||||
|  |                 if os.path.isfile(os.path.join(fn, '__init__.py')): | ||||||
|  |                     if not package: | ||||||
|  |                         new_package = name | ||||||
|  |                     else: | ||||||
|  |                         new_package = package + '.' + name | ||||||
|  |                     stack.append((fn, '', new_package, False)) | ||||||
|  |                 else: | ||||||
|  |                     stack.append((fn, | ||||||
|  |                                   prefix + name + '/', | ||||||
|  |                                   package, | ||||||
|  |                                   only_in_packages)) | ||||||
|  |             elif package or not only_in_packages: | ||||||
|  |                 # is a file | ||||||
|  |                 bad_name = False | ||||||
|  |                 for pattern in exclude: | ||||||
|  |                     if (fnmatchcase(name, pattern) | ||||||
|  |                         or fn.lower() == pattern.lower()): | ||||||
|  |                         bad_name = True | ||||||
|  |                         if show_ignored: | ||||||
|  |                             print >> sys.stderr, ( | ||||||
|  |                                 "File %s ignored by pattern %s" | ||||||
|  |                                 % (fn, pattern)) | ||||||
|  |                         break | ||||||
|  |                 if bad_name: | ||||||
|  |                     continue | ||||||
|  |                 out.setdefault(package, []).append(prefix + name) | ||||||
|  |     return out | ||||||
|  | ############################################################################## | ||||||
|  |  | ||||||
|  |  | ||||||
|  | setup( | ||||||
|  |     name=PROJECT, | ||||||
|  |     version=VERSION, | ||||||
|  |  | ||||||
|  |     description='Command Line Interface Formulation Framework', | ||||||
|  |     long_description=long_description, | ||||||
|  |  | ||||||
|  |     author='Doug Hellmann', | ||||||
|  |     author_email='doug.hellmann@gmail.com', | ||||||
|  |  | ||||||
|  |     url='https://github.com/dhellmann/cliff', | ||||||
|  |  | ||||||
|  |     classifiers=['Development Status :: 3 - Alpha', | ||||||
|  |                  'License :: OSI Approved :: MIT License', | ||||||
|  |                  'Programming Language :: Python', | ||||||
|  |                  'Programming Language :: Python :: 2', | ||||||
|  |                  'Programming Language :: Python :: 2.7', | ||||||
|  |                  'Programming Language :: Python :: 3', | ||||||
|  |                  'Programming Language :: Python :: 3.2', | ||||||
|  |                  'Intended Audience :: Developers', | ||||||
|  |                  'Environment :: Console', | ||||||
|  |                  ], | ||||||
|  |  | ||||||
|  |     platforms=['Any'], | ||||||
|  |  | ||||||
|  |     scripts=[], | ||||||
|  |  | ||||||
|  |     provides=['cliff', | ||||||
|  |               ], | ||||||
|  |     install_requires=['distribute'], | ||||||
|  |  | ||||||
|  |     namespace_packages=[], | ||||||
|  |     packages=find_packages(), | ||||||
|  |     include_package_data=True, | ||||||
|  |     # Scan the input for package information | ||||||
|  |     # to grab any data files (text, images, etc.) | ||||||
|  |     # associated with sub-packages. | ||||||
|  |     package_data=find_package_data(PROJECT, | ||||||
|  |                                    package=PROJECT, | ||||||
|  |                                    only_in_packages=False, | ||||||
|  |                                    ), | ||||||
|  |  | ||||||
|  |     entry_points={ | ||||||
|  |         # 'console_scripts': [ | ||||||
|  |         #     'venvw_hook = virtualenvwrapper.hook_loader:main' | ||||||
|  |         #     ], | ||||||
|  |         # 'virtualenvwrapper.initialize': [ | ||||||
|  |         #     'user_scripts = virtualenvwrapper.user_scripts:initialize', | ||||||
|  |         #     'project = virtualenvwrapper.project:initialize', | ||||||
|  |         #     ], | ||||||
|  |         }, | ||||||
|  |  | ||||||
|  |     zip_safe=False, | ||||||
|  |     ) | ||||||
		Reference in New Issue
	
	Block a user
	 Doug Hellmann
					Doug Hellmann