René's URL Explorer Experiment


Title: Intermediate Python for Astronomical Software Development

Mail addresses
shr.razim@gmail.com

direct link

Domain: shrra.github.io

None2024-07-04 20:30:12 +0000
application-nameThe Carpentries Incubator - Intermediate Python for Astronomical Software Development
msapplication-TileColor#FFFFFF
msapplication-TileImage/python-intermediate-development/assets/favicons/incubator/mstile-144x144.png
msapplication-square70x70logo/python-intermediate-development/assets/favicons/incubator/mstile-70x70.png
msapplication-square150x150logo/python-intermediate-development/assets/favicons/incubator/mstile-150x150.png
msapplication-wide310x150logo/python-intermediate-development/assets/favicons/incubator/mstile-310x150.png
msapplication-square310x310logo/python-intermediate-development/assets/favicons/incubator/mstile-310x310.png

Links:

https://shrra.github.io/python-intermediate-development/index.html
Homehttps://shrra.github.io/python-intermediate-development/index.html
Code of Conducthttps://shrra.github.io/python-intermediate-development/CODE_OF_CONDUCT.html
Setuphttps://shrra.github.io/python-intermediate-development/setup.html
Episodes https://shrra.github.io/python-intermediate-development/
Setting the Scenehttps://shrra.github.io/python-intermediate-development/00-setting-the-scene/index.html
Section 1: Setting Up Environment For Collaborative Code Developmenthttps://shrra.github.io/python-intermediate-development/10-section1-intro/index.html
Introduction to Our Software Projecthttps://shrra.github.io/python-intermediate-development/11-software-project/index.html
Virtual Environments For Software Developmenthttps://shrra.github.io/python-intermediate-development/12-virtual-environments/index.html
Integrated Software Development Environmentshttps://shrra.github.io/python-intermediate-development/13-ides/index.html
Best practices for Jupyterhttps://shrra.github.io/python-intermediate-development/14-jup-best-practices/index.html
Collaborative Software Development Using Git and GitHubhttps://shrra.github.io/python-intermediate-development/15-collaboration-using-git/index.html
Python Code Style Conventionshttps://shrra.github.io/python-intermediate-development/16-coding-conventions/index.html
Verifying Code Style Using Lintershttps://shrra.github.io/python-intermediate-development/17-verifying-code-style-linters/index.html
Section 2: Ensuring Correctness of Software at Scalehttps://shrra.github.io/python-intermediate-development/20-section2-intro/index.html
Automatically Testing Softwarehttps://shrra.github.io/python-intermediate-development/21-automatically-testing-software/index.html
Scaling Up Unit Testinghttps://shrra.github.io/python-intermediate-development/22-scaling-up-unit-testing/index.html
Github Issues and Collaborative Developmenthttps://shrra.github.io/python-intermediate-development/23-github-issues/index.html
Continuous Integration for Automated Testinghttps://shrra.github.io/python-intermediate-development/24-continuous-integration-automated-testing/index.html
Issue Diagnostics with a Debugger and Other Toolshttps://shrra.github.io/python-intermediate-development/25-diagnosing-issues-improving-robustness/index.html
Section 3: Software Development as a Processhttps://shrra.github.io/python-intermediate-development/30-section3-intro/index.html
Programming Paradigmshttps://shrra.github.io/python-intermediate-development/31-programming-paradigms/index.html
Functional Programminghttps://shrra.github.io/python-intermediate-development/32-functional-programming/index.html
Object Oriented Programminghttps://shrra.github.io/python-intermediate-development/33-object-oriented-programming/index.html
Software Requirementshttps://shrra.github.io/python-intermediate-development/34-software-requirements/index.html
Software Architecture and Designhttps://shrra.github.io/python-intermediate-development/35-software-design/index.html
Architecture Revisited: Adding a .py Controllerhttps://shrra.github.io/python-intermediate-development/36-architecture-revisited/index.html
Section 4: Collaborative Software Development for Reusehttps://shrra.github.io/python-intermediate-development/40-section4-intro/index.html
Developing Software In a Team: Code Reviewhttps://shrra.github.io/python-intermediate-development/41-code-review/index.html
Preparing Software for Reuse and Releasehttps://shrra.github.io/python-intermediate-development/42-software-reuse/index.html
Packaging Code for Release and Distributionhttps://shrra.github.io/python-intermediate-development/43-software-release/index.html
Wrap-uphttps://shrra.github.io/python-intermediate-development/50-wrap-up/index.html
All in one page (Beta)https://shrra.github.io/python-intermediate-development/aio/index.html
Extras https://shrra.github.io/python-intermediate-development/
Referencehttps://shrra.github.io/python-intermediate-development/reference.html
Abouthttps://shrra.github.io/python-intermediate-development/about/index.html
Additional Material: Git Introhttps://shrra.github.io/python-intermediate-development/git-intro/index.html
Figureshttps://shrra.github.io/python-intermediate-development/figures/index.html
Instructor Noteshttps://shrra.github.io/python-intermediate-development/guide/index.html
Common Issues, Fixes & Tipshttps://shrra.github.io/python-intermediate-development/common-issues/index.html
https://shrra.github.io/python-intermediate-development
Additional Material: Protecting the Main Branch on a Shared GitHub Repositoryhttps://shrra.github.io/python-intermediate-development/protect-main-branch/index.html
https://shrra.github.io/python-intermediate-development
Software Documentation using Sphinxhttps://shrra.github.io/python-intermediate-development/44-software-documentation/index.html
Using LINCC Framework project templatehttps://shrra.github.io/python-intermediate-development/45-lincc-project-template/index.html
Quizhttps://shrra.github.io/python-intermediate-development/quiz/index.html
Licensehttps://shrra.github.io/python-intermediate-development/LICENSE.html
Improve this page https://github.com/ShrRa/python-intermediate-development/edit/gh-pages/aio.md
The Carpentries Incubatorhttps://github.com/carpentries-incubator/proposals/#the-carpentries-incubator
Intermediate Python for Astronomical Software Developmenthttps://shrra.github.io/python-intermediate-development/index.html
novice Software Carpentry coursehttps://software-carpentry.org/lessons/
Section 1: Setting up Software Environmenthttps://shrra.github.io/python-intermediate-development/10-section1-intro/index.html
Section 2: Verifying Software Correctness at Scalehttps://shrra.github.io/python-intermediate-development/20-section2-intro/index.html
Section 3: Software Development as a Processhttps://shrra.github.io/python-intermediate-development/30-section3-intro/index.html
Section 4: Collaborative Software Development for Reusehttps://shrra.github.io/python-intermediate-development/40-section4-intro/index.html
Section 5: Managing and Improving Software Over Its Lifetimehttps://shrra.github.io/python-intermediate-development/50-section5-intro/index.html
beginning of the lessonhttps://shrra.github.io/python-intermediate-development/index.html#prerequisites
quizhttps://shrra.github.io/python-intermediate-development/quiz/index.html
setup and installedhttps://shrra.github.io/python-intermediate-development/setup.html
common issues, fixes & tipshttps://shrra.github.io/python-intermediate-development/common-issues/index.html
open an issuehttps://github.com/ShrRa/python-intermediate-development/issues/new
setup and installedhttps://shrra.github.io/python-intermediate-development/setup.html
common issues, fixes & tipshttps://shrra.github.io/python-intermediate-development/common-issues/index.html
command linehttps://en.wikipedia.org/wiki/Shell_(computing)
venvhttps://docs.python.org/3/library/venv.html
piphttps://pip.pypa.io/en/stable/
see the solution to this issuehttps://shrra.github.io/python-intermediate-development/common-issues/index.html#python-hangs-in-git-bash
PEP8https://www.python.org/dev/peps/pep-0008/
Jupyter Labhttps://jupyter.org/install
herehttps://carpentries-incubator.github.io/python-intermediate-development/
Githttps://git-scm.com/
GitHubhttps://github.com/
light curve analysis projecthttps://github.com/ShrRa/InterPython_Workshop_Example
Setuphttps://shrra.github.io/python-intermediate-development/setup.html#secure-access-to-github-using-git-from-command-line
software project repositoryhttps://github.com/ShrRa/InterPython_Workshop_Example
Model–View–Controller (MVC) architecturehttps://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
Service-oriented architecture (SOA)https://en.wikipedia.org/wiki/Service-oriented_architecture
Client-server architecturehttps://en.wikipedia.org/wiki/Client%E2%80%93server_model
Multilayer architecturehttps://en.wikipedia.org/wiki/Multitier_architecture
DNA Guide Graphical User Interface applicationhttps://www.software.ac.uk/developing-scientific-applications-using-model-view-controller-approach
article on MVC from CodeAcademyhttps://www.codecademy.com/articles/mvc
software’s requirementshttps://shrra.github.io/python-intermediate-development/31-software-requirements/index.html
software designhttps://shrra.github.io/python-intermediate-development/32-software-design/index.html
IDE Jupyter Labhttps://jupyter.org/
Python Package Index (PyPI)https://pypi.org/
more in-depth analysishttps://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/
XKCDhttps://xkcd.com/1987/
The Hitchhiker’s Guide to Pythonhttps://docs.python-guide.org/dev/virtualenvs/
The Python Documentationhttps://docs.python.org/3/library/venv.html
“venv” vs “.venv” discussionhttps://discuss.python.org/t/trying-to-come-up-with-a-default-directory-name-for-virtual-environments/3750
official Pip documentationhttps://pip.pypa.io/en/stable/user_guide/#running-pip
more detailed explanationhttps://snarky.ca/why-you-should-use-python-m-pip/
official venv documentationhttps://docs.python.org/3/library/venv.html
Installing Python Modules with pip guidehttps://docs.python.org/3/installing/index.html#installing-index
“Installing packages using pip and virtual environments”https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#installing-packages-using-pip-and-virtual-environments
Python Project Wikihttps://wiki.python.org/moin/IntegratedDevelopmentEnvironments
Jupyter Labhttps://jupyter.org/install
Jupyter Lab interfacehttps://jupyterlab.readthedocs.io/en/stable/user/interface.html
jupyterlab-search-replacehttps://github.com/jupyterlab-contrib/search-replace
cheat sheethttps://www.kaggle.com/code/cuecacuela/the-ultimate-markdown-cheat-sheet
nbdimehttps://nbdime.readthedocs.io/en/latest/
jupyterlab-githttps://github.com/jupyterlab/jupyterlab-git
strengthened authentication requirements for Git operationshttps://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/
set up and use a personal access tokenhttps://catalyst.zoho.com/help/tutorials/githubbot/generate-access-token.html
W3Docshttps://www.w3docs.com/learn-git/git-repository.html
Git Tutorial by sillevlhttps://sillevl.gitbooks.io/git/content/collaboration/workflows/gitflow/
lightweight, movable pointers to commitshttps://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
visual simulatorhttps://learngitbranching.js.org/
Martin Fowlerhttps://en.wikiquote.org/wiki/Martin_Fowler
PEP 8https://www.python.org/dev/peps/pep-0008/
key insights from Guido van Rossumhttps://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
episode on Jupyter Lab IDEhttps://shrra.github.io/python-intermediate-development/13-ides/index.html
PEP 8 websitehttps://www.python.org/dev/peps/pep-0008/
PEP 8 guideline on indentationhttps://www.python.org/dev/peps/pep-0008/#indentation
this discussionhttps://stackoverflow.com/q/15438326
PEP8https://www.python.org/dev/peps/pep-0008/
naming functions, modules, classes and variableshttps://www.python.org/dev/peps/pep-0008/#package-and-module-names
‘Putting comments in code: the good, the bad, and the ugly’ blogposthttps://www.freecodecamp.org/news/code-comments-the-good-the-bad-and-the-ugly-be9cc65fbf83/
Sphynx/ReadTheDocs docstring stylehttps://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html
PEP 257https://peps.python.org/pep-0257/
Python documentationhttps://docs.python.org/3.8/library/index.html
code lintershttps://en.wikipedia.org/wiki/Lint_%28software%29
nbQAhttps://github.com/nbQA-dev/nbQA
Fowler, Martin (1999). Refactoring. Improving the Design of Existing Code. Addison-Wesley. ISBN 0-201-48567-2https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/
blackhttps://black.readthedocs.io/en/stable/
Code Formatter extensionhttps://github.com/ryantam626/jupyterlab_code_formatter
“Diagnosing Issues and Improving Robustness”https://shrra.github.io/python-intermediate-development/24-diagnosing-issues-improving-robustness/index.html
lightcurve analysis software projecthttps://shrra.github.io/python-intermediate-development/11-software-project/index.html#light-curve-analysis-project
the corresponding sectionhttps://shrra.github.io/python-intermediate-development/14-jup-best-practices/index.html
unittesthttps://docs.python.org/3/library/unittest.html
pytest has many distinct advantageshttps://realpython.com/pytest-python-testing/#what-makes-pytest-so-useful
various methodshttps://stackoverflow.com/questions/71297697/modulenotfounderror-when-running-a-simple-pytest
Python decoratorhttps://www.programiz.com/python-programming/decorator
previous episodehttps://shrra.github.io/python-intermediate-development/21-automatically-testing-software/index.html#what-is-software-testing
default labels available in GitHubhttps://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels
write your ownhttps://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository
notifications systemhttps://docs.github.com/en/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications
GitHub Actionshttps://github.com/features/actions
YAMLhttps://www.commonwl.org/user_guide/yaml/
GitHub Marketplacehttps://docs.github.com/en/developers/github-marketplace/github-marketplace-overview
pdbhttps://docs.python.org/3/library/pdb.html
ValueErrorhttps://docs.python.org/3/library/exceptions.html#ValueError
isinstancehttps://docs.python.org/3/library/functions.html#isinstance
TypeErrorhttps://docs.python.org/3/library/exceptions.html#TypeError
this articlehttps://pythonspeed.com/articles/pylint/
empirical software engineering studieshttps://web.archive.org/web/20160731150816/http://superwebdeveloper.com/2009/11/25/the-incredible-rate-of-diminishing-returns-of-fixing-software-bugs/
extension of the Imperative family of languageshttps://www.digitalocean.com/community/tutorials/functional-imperative-object-oriented-programming-comparison
others disagreehttps://stackoverflow.com/questions/38527078/what-is-the-difference-between-imperative-and-object-oriented-programming
Pandashttps://pandas.pydata.org/
programming paradigmshttps://en.wikipedia.org/wiki/Programming_paradigm
mathematical definition of a functionhttps://en.wikipedia.org/wiki/Function_(mathematics)
Pandas libraryhttps://pandas.pydata.org/
Sparkhttps://en.wikipedia.org/wiki/Apache_Spark
Hadoophttps://hadoop.apache.org/
iterable objectshttps://www.w3schools.com/python/python_iterators.asp
episode on parametrising our unit testshttps://shrra.github.io/python-intermediate-development/22-scaling-up-unit-testing/index.html#parameterising-our-unit-tests
time.process_time_ns()https://docs.python.org/3/library/time.html#time.process_time_ns
classmethodhttps://docs.python.org/3/library/functions.html#classmethod
staticmethodhttps://docs.python.org/3/library/functions.html#staticmethod
Special Method Nameshttps://docs.python.org/3/reference/datamodel.html#special-method-names
chirphttps://www.ligo.org/science/GW-Inspiral.php
Python Design Patterns guidehttps://python-patterns.guide/gang-of-four/composition-over-inheritance/
‘A Pattern Language’ by Christopher Alexander et al.https://en.wikipedia.org/wiki/A_Pattern_Language
Refactoring Guruhttps://refactoring.guru/design-patterns
Data Product Definition Documenthttps://docushare.lsst.org/docushare/dsweb/Get/LSE-163
UMLhttps://en.wikipedia.org/wiki/Unified_Modeling_Language
this linkhttps://drive.google.com/file/d/1Q_VySs4baVcmtWCHnCfa9ILvuuBindpE/view?usp=sharing
IEEE recommendationshttps://ieeexplore.ieee.org/document/278253
Intent HG bloghttps://intenthq.com/blog/it-audience/what-is-good-code-a-scientific-definition/
XKCD comichttps://xkcd.com/844/
‘bottom-up design’https://en.wikipedia.org/wiki/Bottom%E2%80%93up_and_top%E2%80%93down_design#Software_development
Model-View-Presenterhttps://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter
Model-View-Viewmodelhttps://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel
argparsehttps://docs.python.org/3/library/argparse.html
Python module documentationhttps://docs.python.org/3/library/argparse.html?highlight=argparse#module-argparse
Click’s documentationhttps://click.palletsprojects.com/
protecting the main branchhttps://shrra.github.io/python-intermediate-development/protect-main-branch
code inspection techniquehttps://en.wikipedia.org/wiki/Fagan_inspection
Fagan, 1976https://doi.org/10.1147%2Fsj.153.0182
Over-the-shoulder code reviewhttps://about.gitlab.com/topics/version-control/what-is-code-review/#Over-the-shoulder%20reviews
Pair programminghttps://about.gitlab.com/topics/version-control/what-is-code-review/#Pair%20programming
Formal code inspectionhttps://en.wikipedia.org/wiki/Fagan_inspection
Tool assisted code reviewhttps://about.gitlab.com/topics/version-control/what-is-code-review/#Tool-assisted%20reviews
“Five Types of Review” sectionhttps://www.khoury.northeastern.edu/home/lieber/courses/cs4500/f07/lectures/code-review-types.pdf
“Best Kept Secrets of Peer Code Review” eBookhttps://www.yumpu.com/en/document/view/19324443/best-kept-secrets-of-peer-code-review-pdf-smartbear
solution requirements from the last exercise in the OOP episodehttps://shrra.github.io/python-intermediate-development/35-object-oriented-programming/index.html#exercise-a-survey-class
Git Tutorial by sillevlhttps://sillevl.gitbooks.io/git/content/collaboration/workflows/gitflow/
collaborator permissions for personal repositorieshttps://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/permission-levels-for-a-user-account-repository
more granular access controlhttps://docs.github.com/en/get-started/learning-about-github/access-permissions-on-github
black boxhttps://en.wikipedia.org/wiki/Black-box_testing
Swarmiahttps://www.swarmia.com/blog/a-complete-guide-to-code-reviews/?utm_term=code%20review&utm_campaign=Code+review+best+practices&utm_source=adwords&utm_medium=ppc&hsa_acc=6644081770&hsa_cam=14940336179&hsa_grp=131344939434&hsa_ad=552679672005&hsa_src=g&hsa_tgt=kwd-17740433&hsa_kw=code%20review&hsa_mt=b&hsa_net=adwords&hsa_ver=3&gclid=Cj0KCQiAw9qOBhC-ARIsAG-rdn7_nhMMyE7aeSzosRRqZ52vafBOyMrpL4Ypru0PHWK4Rl8QLIhkeA0aAsxqEALw_wcB
Smartbearhttps://smartbear.com/learn/code-review/best-practices-for-peer-code-review/
“Best Kept Secrets of Peer Code Review” (Cohen, 2006)https://www.amazon.co.uk/Best-Kept-Secrets-Peer-Review/dp/1599160676
Studies into code reviewhttps://smartbear.com/resources/ebooks/the-state-of-code-review-2020-report/
studieshttps://jserd.springeropen.com/articles/10.1186/s40411-018-0058-0
Google recommendationshttps://google.github.io/eng-practices/review/developer/small-cls.html
Benureau and Rougler in 2017https://dx.doi.org/10.3389/fninf.2017.00069
guide to writing Markdownhttps://guides.github.com/features/mastering-markdown/
guide on naming projectshttps://software.ac.uk/resources/guides/choosing-project-and-product-names
CITATION text filehttps://github.com/citation-file-format/citation-file-format
Matias Singer’s curated list of awesome READMEshttps://github.com/matiassingers/awesome-readme
blog post on best practices for research software documentationhttps://www.software.ac.uk/blog/2019-06-21-what-are-best-practices-research-software-documentation
website Choose A Licensehttps://choosealicense.com/
Choose An Open-Source Licencehttps://choosealicense.com/
tl;dr Legalhttps://tldrlegal.com/
Semantic Versioninghttps://semver.org/
GDPRhttps://ec.europa.eu/info/law/law-topic/data-protection/eu-data-protection-rules_en
Poetry installation instructionshttps://python-poetry.org/docs/#installation
PEP 518 (Specifying Minimum Build System Requirements for Python Projects)https://www.python.org/dev/peps/pep-0518/
the Poetry docs on packageshttps://python-poetry.org/docs/pyproject/#packages
SemVerhttps://semver.org/
SemVerhttps://semver.org/
Poetry CLI documentationhttps://python-poetry.org/docs/cli/
Python docs on packaginghttps://packaging.python.org/en/latest/
packaging process, or ‘flow’https://packaging.python.org/en/latest/flow/
Twinehttps://pypi.org/project/twine/
Python Packaging User Guidehttps://packaging.python.org/
how to package a projecthttps://packaging.python.org/en/latest/tutorials/packaging-projects/
section on metadatahttps://packaging.python.org/en/latest/tutorials/packaging-projects/#configuring-metadata
further readinghttps://shrra.github.io/python-intermediate-development/aio/#further-resources
template tablehttps://docs.google.com/document/d/1NdE6PjqxjSsf1K4ofkCoWc2GA3sY2RIsjRg8BghTXas/edit?usp=sharing
concept maphttps://en.wikipedia.org/wiki/Concept_map
Additional episode on persisting datahttps://shrra.github.io/python-intermediate-development/persistence
Additional episode on databaseshttps://shrra.github.io/python-intermediate-development/databases
CodeRefinery courses on FAIR (Findable, Accessible, Interoperable, and Reusable) software practiceshttps://coderefinery.org/lessons/
Python documentationhttps://docs.python.org/3/
GitHub Actions documentationhttps://docs.github.com/en/actions
CC-BY 4.0https://creativecommons.org/licenses/by/4.0/
the authorshttps://shrra.github.io/python-intermediate-development/CITATION
Edit on GitHubhttps://github.com/ShrRa/python-intermediate-development/edit/gh-pages/aio.md
Contributinghttps://github.com/ShrRa/python-intermediate-development/blob/gh-pages/CONTRIBUTING.md
Sourcehttps://github.com/ShrRa/python-intermediate-development/
Citehttps://github.com/ShrRa/python-intermediate-development/blob/gh-pages/CITATION
The Carpentries themehttps://github.com/carpentries/carpentries-theme/

Viewport: width=device-width, initial-scale=1


URLs of crawlers that visited me.