Python Review
- Version Control with Git
- Lists
- Dictionaries
- Conditionals (if, elif, else)
- Loops (for and when)
- Functions
- Classes and Methods
- Using pip
Working with Data †JSON, YAML, CSV, and Excel
- JSON RFC 7159
- JSON Formatting
- YAML intro
- YAML Formatting
- Python Libraries for decoding JSON, YAML, and CSV
- Reading and Writing to Excel
- Dataframes and pandas
Web and RESTful APIs
- Creating an HTTP Client & Server with Python
- Introduction to REST
- RESTful API on Etcd keystore (Kubernetes distributed DB)
- Creating a Python client to interact with API endpoints
- Authentication
- API dev keys
- Secure password retrieval
- Tokens and APIs
- OAuth v2.0
API Design Practices
- RESTful Architecture
- SOAP overview
- Stubbing code with Swagger
- Describing Resource functionality (GET, POST, PUT, DELETE, etc.)
- Collections, resources, and URLs
- Using nouns, not verbs
- Understanding HTTP status codes
- Returning data
Building APIs with Flask
- Flask Overview
- Decorators
- Building APIs with Python and Flask
- APIs returning Jinja2 templating
- Returning a ‘cookie’
- Building Sessions
- Redirecting from URIs
- Build an API to accept a file upload
- Overview of Django
Database Integration
- Overview
- Connecting to Python
- Read / Write operations
- Other useful instructions
- Connecting APIs and SQLite
- Python and PostgreSQL
- Python and MongoDB
- Reading and Writing to Databases with APIs
Deploying APIs within Enterprise
- Docker containers
- Docker build
- Constructing Docker images
- Dockerfile
- Deploying a Flask App on Docker
- Automating build processes
Processes and Threads
- Threading
- Concurrency
- Async.io
- Context change
- Deadlock errors
- Thread starvation
- Racing conditions and racing specifics
- Working with Locks
Hands-On Labs:
- Welcome to Alta3 Research Labs
- Using vim
- Introduction to VScode
- Tmux Basics
- SCM with GitLab
- API Design with Python †Certification Project
- LECTURE †Introduction to APIs
- LECTURE †Object-Oriented Programming for APIs
- Getting dir(obj) help() and pydoc
- LECTURE †Practical Application of Lists
- Lists
- LECTURE †Practical Application of Dict
- Dictionaries
- CHALLENGE †List and Dict Modeling
- Your First API Request
- LECTURE †Python data types vs JSON
- Python Data to JSON file
- pandas dataframes †MS Excel, csv, json, HTML, and beyond
- LECTURE †Introduction to HTTP
- Standard vs. Third-Party Libraries and Open APIs
- requests library †Open APIs
- requests library †RESTful GET and JSON parsing
- LECTURE †Visualizing API response data with Py
- CHALLENGE †Keyâ€pairs and HTTP GET
- LECTURE †HTTP GET vs POST
- requests library †GET vs POST to REST APIs
- APIs and Dev Keys
- RESTful APIs and Dev Keys
- LECTURE †OAuth
- SOAP and Python
- Construct a SimpleHTTPServer and HTTP Client
- LECTURE †Intro to Flask
- Building APIs with Python
- LECTURE †Introduction to Jinja
- Flask APIs and Jinja
- CHALLENGE †Jinja
- CHALLENGE Solution
- Flask APIs and Cookies
- Flask Sessions
- LECTURE †Controlling your APIs
- Flask Redirection, Errors, and API Limiting
- Flask Uploading and Downloading Files
- LECTURE †Learning sqlite3
- Tracking API Data with sqlite3
- Tracking Inventory with sqlite3
- Building a Production Server
- Running Flask in a Docker Container
- LECTURE †etcd REST API
- etcd and RESTful Clientâ€side Design
- Logging API Behavior
- Swagger
- Designing Our Own API
- Introduction to Django
- LECTURE †Introduction to Threads
- Working With Threads
- Threading API requests
- Introduction to Async IO
- Glossary