Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An opinionated Python toolkit

An opinionated Python toolkit

In this talk, I recommend tools, Tips, and Tricks for your development, review, testing, and deployment workflows for Python projects.

Video: https://youtu.be/WDt88WhJuFc

Included are:
- Tools
- Practices
- Resources

In these four workflows:
- Development
- Review
- Testing
- Deployment

Stanley Ndagi

May 06, 2022
Tweet

More Decks by Stanley Ndagi

Other Decks in Technology

Transcript

  1. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    An opinionated Python
    toolkit
    Tools, Tips, Tricks I recommend for your
    development, review, testing, and deployment workflows
    for Python projects

    View Slide

  2. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Stanley Ndagi alias Stan_MD
    Digerati:
    • Software Engineer (6+ years)
    Tech Stack: Python, JavaScript
    • Technical Writer (3+ years)
    Web profile:
    www.md.engineer
    Et al:
    • GitHub stars program
    • CircleCI technical writers program
    • TechKln community - techkln.org

    View Slide

  3. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    This talk, what to expect
    Included:
    • Tools
    • Practices
    • Resources
    Limited
    • Hands-on coding
    NOT
    • One tool to fix them all

    View Slide

  4. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Introduction
    Opinionated?
    Firmly adhering to one's own view / judgement or to
    preconceived notions
    Python?
    Simple yet satisfying
    Toolkit?
    Tools make work easier
    A toolkit contains tools

    View Slide

  5. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Tools: Timber DIY

    View Slide

  6. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Tools: Software
    • Dotfiles
    • Scripts
    • Templates
    • Starter packs
    • Programming languages
    • Frameworks
    • Libraries
    Tinker,
    Break,
    Build,
    Repeat

    View Slide

  7. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit
    Workflows:
    1. Development
    2. Review
    3. Testing
    4. Deployment
    QR code shared with live audience

    View Slide

  8. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Set up
    • Local set up
    • Version control
    • IDE

    View Slide

  9. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Set up
    • Local set up
    • Multiple python versions
    • Virtual envs & Docker
    • Version control
    • GIT
    • IDE
    • VS Code

    View Slide

  10. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Writing code
    • Prototyping
    • Dependencies
    • Reference

    View Slide

  11. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Writing code
    • Prototyping
    • REPL
    • bpython
    • pipx
    • Dependencies
    • requirements.txt
    • Piplock
    • Reference
    • Python docs
    • Real Python
    • Python guide
    • Devdocs
    • Django Girls

    View Slide

  12. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Writing code (cont.d)
    • Linting
    • Formatting
    • Miscellaneous

    View Slide

  13. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Writing code (cont.d)
    • Linting
    • Flake8
    • Formatting
    • Editorconfig
    • black
    • isort
    • pyupgrade
    - Miscellaneous
    • http.server
    • Flask
    • FastAPI
    • Scrapy
    • django-browser-reload
    • django-upgrade
    • PySnooper
    • Snyk: vulnerabilities
    • Jupyter

    View Slide

  14. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Documentation
    • README
    • Licencing
    • Documentation generator

    View Slide

  15. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Development Workflow
    Documentation
    • README
    • Markdown
    • Best practices
    • Badges
    • Licencing
    • Documentation
    generator
    • Sphinx
    - Changelog

    View Slide

  16. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Review Workflow
    • Local
    • Online
    - Project Management

    View Slide

  17. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Review Workflow
    • Local
    • GitHub desktop
    • IDE - VSCode
    • Precommit
    • Online
    • GitHub PRs
    • GitLab MRs
    • Project Management
    • Shortcut
    • GitHub Projects

    View Slide

  18. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Testing Workflow
    • Unit tests
    • Pytest
    • CI - Continuous Integration

    View Slide

  19. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Deployment Workflow
    Instances
    • Ngrok
    • Heroku
    • Docker
    CI/CD

    View Slide

  20. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Python Toolkit:
    Deployment Workflow
    Publishing
    • Tagging
    • Test Python Package Index (TestPyPI)
    • Python Package Index (PyPI)

    View Slide

  21. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    Conclusion
    The software landscape is every changing,
    ALWAYS fine tune your toolkit as well.
    @NdagiStanley
    www.md.engineer

    View Slide

  22. 3RD ANNUAL PYCON SUMMIT KE
    Biggest Gathering For People & Organisations Interested In The
    Python Programming Language & Its Ecosystem
    THANK YOU

    View Slide