A package, with its multiple file, is easier make it easier to organise
code, test it, use it as a library, and collaborate on it. Though, it
increases the barrier of entry for user/developer less experienced with
python.
Now that we do have the possibility to distribute insane as a zipped
package, the barrier of entry is less of a problem. It is thus an ideal
time to modularize insane by splitting it as a package.
This commit split insane into a package. Most of the logic is moved in
insane.core; the code specific to the command line interface sits in
insane.cli; type conversion functions are in insane.converters; finally,
the constant (d2r) is in insane.constants. The "insane" script is created
by pip at install time.
A package, with its multiple file, is easier make it easier to organise code, test it, use it as a library, and collaborate on it. Though, it increases the barrier of entry for user/developer less experienced with python.
Now that we do have the possibility to distribute insane as a zipped package, the barrier of entry is less of a problem. It is thus an ideal time to modularize insane by splitting it as a package.
This commit split insane into a package. Most of the logic is moved in insane.core; the code specific to the command line interface sits in insane.cli; type conversion functions are in insane.converters; finally, the constant (d2r) is in insane.constants. The "insane" script is created by pip at install time.
The commit also make the package pip-installable.
How to use the package: