I have created some Python code some time ago and now I want to start a greater Python data science project. I ask myself which would be a good combination of (free) tools, which work together like single gear wheels in a well designed gearbox:
Should I go for a Python installation itself or do you think it is better to bet on Anaconda or even another distribution?
Which IDE do you prefer and why? I've spent some minutes in PyCharm some time ago but unfortunately I missed breaking into it deeper.
Which source code control tool do you prefer? I've experience with the integrated SCC in Team Foundation Server but I'm searching for something free. I've heard about Git and also Bitbucket and Subversion. Which SCC do you use for which reason?
I'm convinced that I need to be able to use Jupyter Notebooks. I know that there is some PyCharm integration and on the Anaconda homepage I've seen, that Jupyter Notebooks are also included there. Finally when it came to JupyterLab, I got totally confused how to setup my tool chain. Furthermore I've read something about Jupytext. It sounds like a good link between py and ipynb but which of all the components will I really need in my setup?
And what about tools for documentation/bugtracking/featurelists and so on? I would just need it for keeping overview about the project for myself.
What I already set up is a Postgres DB on my NAS. I will load data into databases there and these databases will be the datasources for my data science projects which I will develope on my windows (shame over me) PC. There I have running PGAdmin. So far for the current setup.
I know that these questions are quiet generic and may depend on my own requirements, expectations and the specific things I want to research. However I believe that there are best practices how to get started with a tool environment covering all the things when it comes to professional coding with Python in general.
Thank you for reading and thinking about the questions so far. I'm looking forward to read about your setups.