Eggeling-Lab-Microscope-Software / TRAIT2D

TRAIT2D is a cross-platform Python software package with compilable graphical user interfaces (GUIs) to support Single Particle Tracking experiments.
GNU General Public License v3.0
10 stars 10 forks source link

Renaming the library and package release #38

Closed john-wigg closed 3 years ago

john-wigg commented 4 years ago

Hello everyone,

I would like to start renaming the package and preparing its release as a conda and/or PyPI package.

Renaming

Renaming shouldn't be to complicated but means refactoring most source and example/notebook files. This means that most changes made before the renamed branch is merged with the main branch will need to be taken into consideration. So I guess we should to a feature freeze for now, if everyone agrees, which means no more changes to the main branch until the renaming is done.

We also need to work the package name we want to use. Since the projects name is "TRAIT-2D", trait-2d seems most logical to me. But trait_2d or trait2d would also work. What do you think?

Packaging

I've already started refactoring the installation scripts. Since we're thinking about releasing as a PyPI and conda package, I've moved all package dependencies to setup.py (some were double anyways).

The obvious drawback is that the installation no longer automatically creates a new conda environment (environment.yml does not get executed on package install). However, I don't think that replacing conda env create -f environment.yml with conda create trait-2d makes the installation much more difficult. (Of course, the user can choose whether a separate environment is even needed.)

We also lose the run_environmentSetup.bat script on Windows but this scripts assumes an Anaconda 3 installation in a specific path anyways which may cause problems anyways.

If we want to keep the option of an easy "one-click" install, I can try to create a new .bat file after release that executes the new installation method and we could offer it as a download from the GitHub release section.

If you have no objections I would like to start working on this so we are on track for release.

john-wigg commented 4 years ago

I just noticed that Python module names cannot contain the - character (import trait-2d throws a syntax error). So I would propose trait2d as the package and module name for consistency.