Skip to content
View nathan5280's full-sized avatar
Block or Report

Block or report nathan5280

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nathan5280/README.md

My Gen3 Technology Stack.

I hadn't realized how much Python 2 was holding us back until I started to dig into some of the newer packages only for Python 3. It was right around Python 3.5/3.6 when we got type hinting, dataclasses, and f-strings that there was an inflection in innovation. Maintaining code bases for both 2.7 & 3.7 basically prevented us from leveraging these features.

I call these packages Gen3. Here is my latest tool stack:

Current Package Role Replaced Package(s) Rational / Best Features
Poetry Project package management and publishing
  • pipenv
  • flit
  • Package management: Resolves and installs complex data science stacks faster.
  • Build and Publish Packages: Same tool, same pyproject.toml to manage the project packages and publish the package.
Pydantic Object <-> JSON parsing & validation
  • marshmallow
  • dataclasses-json
  • Natural use of type hints
  • Fast - Compiles with Cython.
FastAPI Restful APIs
  • flask
  • connexion
  • Code rules it all including auto generation of full OAS 3.x specification.
  • Built on top of Pydantic.
  • Fast - Compiles with Cython.
Prefect Workflow
  • directories of numbered scripts
  • airflow - trying to duck that generation of workflow
  • Run in the debugger locally.
  • Super active development.

Pinned Loading

  1. ndl-tools ndl-tools Public

    Tools for working with nested dictionaries and lists.

    Python 1

  2. callable-journal callable-journal Public

    Python 1