Blog
-
Why there are two Python installation methods (Feat. Conda and pip)
-
Distribute Python package on conda-forge from PyPI
-
Distinguish key components in Conda ecosystem (Ft. mamba, conda-forge, Miniconda, Anaconda, miniforge, and more)
-
Python open-source project workflow at Billinge group
-
Personal essays and philosophy
-
Python styling automation tool (Ft. Ruff)
-
Pros and cons of pre-commiter framework and my verdict (Ft. pre-commit)
-
Python naming best practices
-
Test dependencies and environments in Python (Ft. Tox)
-
Python static type checking and automation (Ft. Mypy)
-
Python matrix operations and linear algebra cheatsheet (Ft. NumPy)
-
Intro to Python logging for beginners (Ft. logging)
-
Automate Markdown formatting (Ft. Prettier)
-
How to distribute Python package via pip (Ft. Twine, PyPI, Test PyPI)
-
Best practices for mathematical typesetting (Ft. MathJax and LaTeX)
-
Visual Studio and Terminal cheatsheet
-
How to test multiple Python versions with GitHub Actions
-
GitHub best practices and cheatsheet
-
Python styling automation tool (Ft. Black)
-
Python best practices and cheatsheet
-
How to use GitHub Actions for effective testing in Python open-source projects
-
Python unit test cheatsheet (Ft. Pytest)
-
How to use Python package manager for beginners (Ft. Conda with Cheatsheet)
-
How to generate elemental compositional features for compounds using CBFV for beginners