Metadata-Version: 2.1
Name: bulkimporttools
Version: 0.0.3
Summary: A collection of tools for importing classes and modules in bulk
Home-page: https://github.com/Mikael-MStinson/Bulk-Import
Author: Mikael Morrell-Stinson
License: UNKNOWN
Description: # Bulk-Import
        Tools for automatically importing classes and modules in bulk.
        Allowing you to add/change/remove features without needing to update the imports elsewhere.
        
        ## Application
        Suppose you had a command parser. For the time being it only parses a hand full of commands, but you plan on adding more later.
        For every command you wish to add, you must import it where it is needed/used.
        If you have a lot of commands to add, or you import them in a lot of places, this can lead to a huge hastle every time you want to add a command.
        By using bulk_import, you can have all of your command classes inherit from a Command base class,  store them all in a 'commands' folder, 
        and then tell your python program to import all classes of type Command from the folder 'commands'.
        
        The file structure would look something like this:
        * project
        	* command.py - this would contain the base class Command
        	* commands - all command classes would be stored in here
        		* command_a.py - these would inherit the base class Command
        		* command_b.py
        		* command_c.py
        	
        With this file structure, you can now clearly see where all your command classes are and what commands your program currently implements
        And with this tool, you can import these commands with relative ease, even add/remove commands without changing any of the modules that import them.
        
        
        ## Usage
        ```python
        from bulk_import import import_subclasses		# import_subclasses imports all classes of type base class from a particular directory
        class BaseClass: pass 					# all subclasses would extend this class
        subclasses = import_subclasses(				#
        	directory = "directory.path.to.modules",	# required: the directory where all subclasses can be accessed
        	base_class = BaseClass,				# required: the base class which all subclasses will be checked against.
        	deepest_level = 3				# optional: default = 0, how many levels past the given directory the function is allowed to look
        )							# 	This is useful if your subclasses are located in their own folder, not directly under the directory
        
        ```
        
        ## Installing
        type "pip install bulkimporttools"
        
        ## Developement
        Github repository is located here: https://github.com/Mikael-MStinson/Bulk-Import
        Pypi project is located here: https://pypi.org/project/bulkimporttools/
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 1 - Planning
Description-Content-Type: text/markdown
