Python
Hard
Skills
01
Core
Language
Fundamentals
8
SKILLS
Built
-
in
data
types
int
,
float
,
complex
,
str
,
bytes
,
bool
,
None
—
conversions
and
coercion
rules
Scope
and
the
LEGB
rule
Local
,
enclosing
,
global
,
built
-
in
resolution
;
global
and
nonlocal
declarations
Operators
and
truthiness
Arithmetic
,
chained
comparisons
,
bitwise
operations
,
walrus
operator
(:=)
Comprehensions
List
,
dict
,
set
,
and
generator
expressions
with
filters
and
nesting
Indexing
and
slicing
Negative
indices
,
step
slicing
,
slice
objects
,
slice
assignment
Unpacking
and
starred
expressions
Tuple
unpacking
,
extended
iterable
unpacking
,
swap
and
rest
patterns
String
handling
and
formatting
f
-
strings
,
str
.
format
, %-
formatting
,
escape
sequences
,
encode
/
decode
Control
flow
and
pattern
matching
if
/
elif
/
else
,
for
/
else
,
while
loops
,
break
/
continue
,
match
-
case
structural
matching
02
Data
Structures
and
Algorithms
8
SKILLS
Built
-
in
containers
list
,
tuple
,
dict
,
set
,
frozenset
—
time
complexity
of
core
operations
Collections
module
deque
,
defaultdict
,
Counter
,
OrderedDict
,
namedtuple
,
ChainMap
Sequence
and
mapping
abstractions
Iterable
,
Iterator
,
Sequence
,
Mapping
,
MutableMapping
protocols
Sorting
and
searching
sorted
with
key
functions
,
bisect
,
stable
sorts
,
custom
ordering
rules
Recursion
and
memoization
Base
cases
,
recursion
depth
limits
,
functools
.
lru
_
cache
and
cache
Complexity
analysis
(
Big
-
O
)
Time
and
space
complexity
,
amortized
cost
,
structure
selection
trade
-
offs
Graph
and
tree
traversal
BFS
,
DFS
,
heap
operations
via
heapq
,
topological
sort
,
binary
trees
Dynamic
programming
and
greedy
methods
Tabulation
,
memoized
recursion
,
optimal
substructure
,
greedy
proofs
03
Object
-
Oriented
and
Functional
Python
8
SKILLS
Classes
and
instances
__
init
__,
self
,
instance
vs
class
vs
static
methods
,
attribute
resolution
Inheritance
and
MRO
Multiple
inheritance
,
super
()
usage
,
C
3
linearization
,
mixin
design
Dunder
methods
__
repr
__, __
str
__, __
eq
__, __
hash
__, __
len
__, __
iter
__,
__
enter
__/__
exit
__
Properties
and
descriptors
@
property
with
setters
and
deleters
,
data
vs
non
-
data
descriptors
Dataclasses
@
dataclass
,
field
(),
frozen
,
slots
,
order
, __
post
_
init
__
validation
Abstract
base
classes
and
protocols
abc
.
ABC
, @
abstractmethod
,
duck
typing
via
typing
.
Protocol
Metaclasses
and
class
creation
type
(), __
new
__, __
init
_
subclass
__,
class
registration
patterns
Functional
tooling
map
,
filter
,
reduce
,
operator
module
,
functools
.
partial
,
itertools
pipelines
1 / 6
04
Standard
Library
9
SKILLS
os
and
pathlib
Filesystem
paths
,
environment
variables
,
directory
walking
,
file
metadata
sys
module
argv
,
stdin
/
stdout
/
stderr
,
module
search
path
,
runtime
limit
configuration
datetime
and
zoneinfo
Aware
vs
naive
datetimes
,
parsing
,
ISO
8601,
time
zone
conversion
Serialization
formats
json
,
csv
,
configparser
,
tomllib
,
base
64
encoding
Regular
expressions
(
re
)
Patterns
,
capture
groups
,
lookarounds
,
compiled
pattern
reuse
itertools
and
functools
Infinite
iterators
,
combinations
,
permutations
,
caching
,
functools
.
wraps
Numeric
utilities
math
,
statistics
,
random
with
seeding
,
decimal
for
precise
arithmetic
subprocess
and
shutil
Running
external
commands
,
capturing
output
,
file
copy
,
move
,
and
archiving
argparse
,
logging
,
contextlib
CLI
parsing
,
log
levels
and
handlers
,
context
managers
with
contextlib
05
Web
Development
and
APIs
8
SKILLS
Web
frameworks
FastAPI
,
Flask
,
Django
—
routing
,
request
handling
,
templating
,
ORM
layers
REST
API
design
Resource
modeling
,
HTTP
verbs
,
status
codes
,
versioning
,
pagination
Request
validation
with
Pydantic
Models
,
field
validators
,
settings
management
,
serialization
schemas
Authentication
and
authorization
OAuth
2.0,
JWT
,
session
handling
,
password
hashing
with
bcrypt
or
argon
2
Middleware
and
dependency
injection
WSGI
and
ASGI
lifecycles
,
FastAPI
Depends
,
request
-
scoped
resources
Templating
engines
Jinja
2
syntax
,
template
inheritance
,
autoescaping
and
safe
rendering
API
documentation
OpenAPI
/
Swagger
schemas
generated
from
typed
endpoints
and
docstrings
Real
-
time
channels
WebSockets
,
server
-
sent
events
,
connection
lifecycle
and
reconnect
logic
06
Async
,
Concurrency
and
Parallelism
8
SKILLS
asyncio
fundamentals
Event
loop
,
coroutines
,
tasks
,
asyncio
.
gather
,
TaskGroup
,
timeouts
async
/
await
syntax
Awaitable
protocol
,
async
iterators
,
async
context
managers
Threading
primitives
threading
,
Lock
,
RLock
,
Semaphore
,
Condition
,
thread
-
safe
Queue
The
GIL
and
its
consequences
What
the
GIL
blocks
,
and
the
patterns
that
work
around
it
Multiprocessing
Process
pools
,
shared
memory
,
pickling
constraints
,
worker
startup
cost
concurrent
.
futures
ThreadPoolExecutor
,
ProcessPoolExecutor
,
futures
,
as
_
completed
Backpressure
and
rate
limiting
Bounded
queues
,
semaphores
,
retries
with
exponential
backoff
and
jitter
Race
conditions
and
deadlocks
Diagnosis
,
critical
sections
,
atomic
operations
,
lock
ordering
discipline
2 / 6
07
Data
Analysis
and
Scientific
Computing
8
SKILLS
NumPy
ndarrays
,
broadcasting
,
vectorization
,
dtypes
,
universal
functions
pandas
Series
and
DataFrame
,
loc
/
iloc
indexing
,
groupby
,
merge
,
pivot
,
resample
Data
cleaning
Missing
value
strategies
,
type
coercion
,
deduplication
,
outlier
handling
Visualization
Matplotlib
figures
and
axes
,
Seaborn
statistical
plots
,
chart
styling
Notebook
workflows
Jupyter
cells
,
magics
,
execution
order
,
reproducibility
practices
Large
-
data
tooling
Polars
lazy
frames
,
DuckDB
columnar
queries
,
larger
-
than
-
memory
processing
Time
-
series
handling
Datetime
indexes
,
resampling
,
rolling
windows
,
lag
features
,
seasonality
Statistical
analysis
Descriptive
statistics
,
hypothesis
testing
,
correlation
,
SciPy
.
stats
08
Machine
Learning
and
AI
8
SKILLS
scikit
-
learn
Pipelines
,
transformers
,
estimators
,
cross
-
validation
,
grid
and
random
search
Feature
engineering
Encoding
,
scaling
,
imputation
,
text
and
date
feature
construction
Model
evaluation
Precision
and
recall
,
ROC
-
AUC
,
confusion
matrices
,
leakage
avoidance
Gradient
boosting
XGBoost
,
LightGBM
,
CatBoost
,
early
stopping
,
hyperparameter
tuning
Deep
learning
PyTorch
or
TensorFlow
,
tensors
,
autograd
,
training
and
validation
loops
NLP
and
LLM
tooling
Tokenization
,
embeddings
,
transformer
models
,
vector
stores
,
retrieval
Model
deployment
joblib
and
ONNX
serialization
,
batch
vs
real
-
time
inference
,
drift
checks
MLOps
fundamentals
Experiment
tracking
with
MLflow
,
artifact
versioning
,
reproducible
training
09
Testing
and
Code
Quality
8
SKILLS
pytest
Fixtures
,
parametrize
,
markers
,
conftest
organization
,
plugin
ecosystem
unittest
TestCase
classes
,
setUp
and
tearDown
,
assertions
,
test
discovery
Mocking
and
patching
unittest
.
mock
,
MagicMock
,
patch
targets
,
injectable
dependency
seams
Coverage
measurement
coverage
.
py
,
branch
coverage
,
meaningful
thresholds
,
untested
path
review
Test
levels
Unit
,
integration
,
end
-
to
-
end
,
property
-
based
testing
with
Hypothesis
TDD
workflow
Red
/
green
/
refactor
cycle
,
test
design
,
fast
local
feedback
loops
Linting
and
formatting
ruff
,
flake
8,
black
,
isort
,
pylint
—
configuration
and
auto
-
fix
rules
Code
review
practices
Naming
,
readability
,
docstring
conventions
(
Google
,
NumPy
,
reST
styles
)
3 / 6
10
Packaging
,
Tooling
and
Environments
8
SKILLS
Virtual
environments
venv
,
virtualenv
,
conda
—
isolation
,
activation
,
interpreter
pinning
Dependency
management
pip
,
requirements
files
,
pip
-
tools
,
Poetry
,
uv
,
lock
file
discipline
Packaging
and
distribution
pyproject
.
toml
,
setuptools
,
build
,
wheels
vs
sdists
,
PyPI
publishing
Semantic
versioning
Version
pinning
,
constraint
ranges
,
resolving
dependency
conflicts
Project
layout
src
layout
,
package
vs
module
design
,
entry
points
,
console
_
scripts
Pre
-
commit
hooks
Automated
formatting
,
linting
,
and
secret
scanning
before
commit
Task
runners
Makefiles
,
invoke
,
tox
and
nox
matrices
for
environment
parity
Documentation
tooling
MkDocs
,
Sphinx
,
autodoc
,
rendering
docstrings
into
published
docs
11
Databases
,
ORMs
and
Data
Stores
8
SKILLS
SQL
fundamentals
SELECT
,
JOIN
,
GROUP
BY
,
subqueries
,
window
functions
,
index
awareness
Relational
database
drivers
SQLite
,
PostgreSQL
,
MySQL
—
connections
,
cursors
,
parameterized
queries
ORMs
SQLAlchemy
Core
and
ORM
,
Django
ORM
,
session
lifecycle
,
avoiding
N
+1
Schema
migrations
Alembic
,
Django
migrations
,
versioned
schema
changes
and
rollbacks
NoSQL
and
caching
stores
MongoDB
via
PyMongo
,
Redis
caching
,
document
and
key
-
value
modeling
Transactions
and
pooling
ACID
guarantees
,
isolation
levels
,
commit
and
rollback
,
connection
pools
Query
optimization
EXPLAIN
plans
,
indexing
strategy
,
batching
versus
per
-
row
writes
ETL
and
data
pipelines
Extraction
,
transformation
,
idempotent
loads
,
scheduling
with
Airflow
12
DevOps
,
Cloud
and
Deployment
8
SKILLS
Containerization
Dockerfiles
,
multi
-
stage
builds
,
slim
base
images
,
.
dockerignore
CI
/
CD
pipelines
GitHub
Actions
,
GitLab
CI
,
matrix
builds
,
automated
test
-
and
-
deploy
gates
Cloud
platforms
AWS
with
boto
3,
GCP
and
Azure
SDKs
—
compute
,
storage
,
managed
services
Infrastructure
as
code
Terraform
,
Pulumi
,
declarative
environment
and
resource
configuration
Serverless
functions
AWS
Lambda
handlers
,
cold
-
start
behavior
,
deployment
package
limits
Application
servers
Gunicorn
and
Uvicorn
workers
,
ASGI
/
WSGI
setup
,
Nginx
reverse
proxy
Observability
Structured
logging
,
Prometheus
metrics
,
distributed
tracing
,
error
tracking
Secrets
management
Environment
variables
,
HashiCorp
Vault
,
AWS
Secrets
Manager
,
key
rotation
4 / 6
13
Performance
,
Profiling
and
Optimization
8
SKILLS
Profiling
cProfile
,
line
_
profiler
,
py
-
spy
,
memory
_
profiler
,
flame
graph
reading
Benchmarking
timeit
,
pytest
-
benchmark
,
warm
-
up
runs
,
statistical
significance
Caching
strategies
In
-
process
caches
,
Redis
layers
,
HTTP
caching
headers
,
cache
invalidation
Memory
optimization
__
slots
__,
generators
over
lists
,
object
lifetime
,
leak
detection
Native
acceleration
Cython
,
cffi
,
Numba
JIT
,
C
-
accelerated
library
selection
Lazy
evaluation
Generators
,
itertools
pipelines
,
streaming
large
files
without
loading
them
I
/
O
optimization
Buffered
reads
,
chunked
processing
,
batched
database
writes
Native
interoperability
Calling
C
and
Rust
extensions
,
FFI
boundary
overhead
considerations
14
Type
System
and
Static
Analysis
8
SKILLS
Type
hints
Function
and
collection
annotations
,
Optional
,
Union
,
Callable
,
return
types
typing
module
Generic
,
TypeVar
,
Protocol
,
TypedDict
,
Literal
,
overload
decorators
Static
checkers
mypy
and
pyright
configuration
,
strictness
levels
,
incremental
adoption
Runtime
validation
Pydantic
models
,
typeguard
,
assert
-
based
internal
contracts
Structured
records
TypedDict
and
dataclass
typing
,
immutability
semantics
,
field
defaults
Generics
and
variance
Covariance
and
contravariance
rules
applied
to
real
container
designs
Gradual
typing
Typing
legacy
codebases
,
Any
discipline
,
ratcheting
strictness
over
time
API
contracts
as
types
Types
as
executable
documentation
,
stable
public
interfaces
across
releases
15
Automation
,
Scripting
and
CLI
8
SKILLS
System
and
file
automation
Batch
renaming
,
log
parsing
,
scheduled
maintenance
jobs
,
dry
-
run
modes
Web
scraping
requests
,
httpx
,
BeautifulSoup
,
lxml
,
rate
limiting
,
robots
.
txt
etiquette
Browser
automation
Playwright
,
Selenium
,
headless
flows
,
explicit
waits
and
robust
selectors
CLI
development
argparse
,
Click
,
Typer
,
subcommands
,
exit
codes
,
helpful
error
output
Task
scheduling
cron
,
APScheduler
,
Airflow
DAGs
,
idempotent
and
resumable
jobs
Messaging
automation
smtplib
,
transactional
email
APIs
,
Slack
and
Teams
webhook
notifications
Office
document
automation
openpyxl
,
pandas
ExcelWriter
,
python
-
docx
,
PDF
and
report
generation
Third
-
party
API
integration
REST
and
GraphQL
clients
,
pagination
,
retries
,
timeouts
,
webhook
verification
5 / 6
16
Security
and
Secure
Coding
8
SKILLS
Input
validation
and
sanitization
Untrusted
input
handling
,
path
traversal
prevention
,
injection
defense
SQL
injection
defense
Parameterized
queries
,
ORM
escaping
,
least
-
privilege
database
accounts
Cryptography
hashlib
,
hmac
,
secrets
module
,
Fernet
symmetric
encryption
,
TLS
basics
Dependency
security
pip
-
audit
,
safety
,
Dependabot
alerts
,
vulnerability
triage
and
upgrades
Secure
configuration
No
secrets
in
source
control
,
environment
separation
,
least
privilege
Error
handling
hygiene
Explicit
exception
types
,
safe
user
-
facing
messages
,
no
sensitive
data
in
logs
Deserialization
safety
Avoiding
pickle
on
untrusted
data
,
safe
parsers
,
schema
validation
OWASP
awareness
in
Python
Applying
the
top
web
risks
to
Python
services
,
frameworks
,
and
APIs
17
Version
Control
and
Collaboration
8
SKILLS
Git
fundamentals
clone
,
branch
,
commit
,
merge
,
rebase
,
stash
,
tags
,
reset
and
revert
Branching
strategy
Trunk
-
based
development
,
feature
branches
,
release
branches
,
PR
flow
Code
review
workflow
Pull
requests
,
review
comments
,
small
diffs
,
actionable
feedback
Merge
conflict
resolution
Rebase
versus
merge
decisions
,
history
hygiene
,
conflict
triage
Repository
hygiene
.
gitignore
for
environments
,
caches
,
secrets
,
and
build
artifacts
Shared
package
collaboration
Internal
libraries
,
private
package
indexes
,
monorepo
vs
multirepo
Automated
gating
Protected
branches
,
required
status
checks
,
CI
enforcement
before
merge
Commit
discipline
Conventional
commits
,
changelogs
,
descriptive
PR
descriptions
6 / 6