# Programming

- [Python](https://docs.arkannis.net/programming/python.md)
- [Classic Python](https://docs.arkannis.net/programming/python/classic-python.md)
- [Python Cheatsheet](https://docs.arkannis.net/programming/python/classic-python/python-cheatsheet.md)
- [Python Shortcuts](https://docs.arkannis.net/programming/python/classic-python/python-shortcuts.md)
- [Dunder Methods](https://docs.arkannis.net/programming/python/classic-python/dunder-methods.md)
- [hasattr(), getattr(), delattr()](https://docs.arkannis.net/programming/python/classic-python/hasattr-getattr-delattr.md)
- [Useful Exceptions](https://docs.arkannis.net/programming/python/classic-python/useful-exceptions.md)
- [Dictionary](https://docs.arkannis.net/programming/python/classic-python/dictionary.md)
- [isinstance()](https://docs.arkannis.net/programming/python/classic-python/isinstance.md)
- [isdigit(), isdecimal(), isalpha()](https://docs.arkannis.net/programming/python/classic-python/isdigit-isdecimal-isalpha.md)
- [return](https://docs.arkannis.net/programming/python/classic-python/return.md)
- [Functions](https://docs.arkannis.net/programming/python/classic-python/functions.md)
- [Lists](https://docs.arkannis.net/programming/python/classic-python/lists.md)
- [ord(), chr()](https://docs.arkannis.net/programming/python/classic-python/ord-chr.md)
- [squares, twos, odds](https://docs.arkannis.net/programming/python/classic-python/squares-twos-odds.md)
- [Bubble sort](https://docs.arkannis.net/programming/python/classic-python/bubble-sort.md)
- [append() and insert()](https://docs.arkannis.net/programming/python/classic-python/append-and-insert.md)
- [Bitwise operators](https://docs.arkannis.net/programming/python/classic-python/bitwise-operators.md)
- [while, for & else](https://docs.arkannis.net/programming/python/classic-python/while-for-and-else.md)
- [Arithmetic Operators](https://docs.arkannis.net/programming/python/classic-python/arithmetic-operators.md)
- [equal operators](https://docs.arkannis.net/programming/python/classic-python/equal-operators.md): (\*=, //=, +=, -=, %=)
- [Structure Projects](https://docs.arkannis.net/programming/python/classic-python/structure-projects.md)
- [Modules](https://docs.arkannis.net/programming/python/modules.md)
- [Webscraping](https://docs.arkannis.net/programming/python/modules/webscraping.md)
- [BeautifulSoup](https://docs.arkannis.net/programming/python/modules/webscraping/beautifulsoup.md)
- [PySimpleGui](https://docs.arkannis.net/programming/python/modules/pysimplegui.md)
- [Fast Crashcourse on PySimpleGui](https://docs.arkannis.net/programming/python/modules/pysimplegui/fast-crashcourse-on-pysimplegui.md)
- [os](https://docs.arkannis.net/programming/python/modules/os.md): Module to interact with the operating system
- [python-docx](https://docs.arkannis.net/programming/python/modules/python-docx.md): Module used for manipulating Documents
- [Generate DOCX file](https://docs.arkannis.net/programming/python/modules/python-docx/generate-docx-file.md)
- [psycopg2](https://docs.arkannis.net/programming/python/modules/psycopg2.md): Module used for database connection (PostgreSQL)
- [PostgreSQL Connection](https://docs.arkannis.net/programming/python/modules/psycopg2/postgresql-connection.md)
- [Pydantic Model vs SQLAlchemy Model](https://docs.arkannis.net/programming/python/modules/pydantic-model-vs-sqlalchemy-model.md)
- [Frameworks](https://docs.arkannis.net/programming/python/frameworks.md)
- [FastAPI](https://docs.arkannis.net/programming/python/frameworks/fastapi.md): On Stop Shop Module for creating APIs with Python
- [FastAPI Quick overview](https://docs.arkannis.net/programming/python/frameworks/fastapi/fastapi-quick-overview.md)
- [Installing FastAPI and Dependencies](https://docs.arkannis.net/programming/python/frameworks/fastapi/installing-fastapi-and-dependencies.md)
- [Starting FastAPI](https://docs.arkannis.net/programming/python/frameworks/fastapi/starting-fastapi.md)
- [Path Operations](https://docs.arkannis.net/programming/python/frameworks/fastapi/path-operations.md)
- [Creating HTTP Operation paths](https://docs.arkannis.net/programming/python/frameworks/fastapi/creating-http-operation-paths.md)
- [Send Data via Body of HTTP Request](https://docs.arkannis.net/programming/python/frameworks/fastapi/send-data-via-body-of-http-request.md)
- [Schema Validation with Pydantic](https://docs.arkannis.net/programming/python/frameworks/fastapi/schema-validation-with-pydantic.md)
- [CRUD Operations](https://docs.arkannis.net/programming/python/frameworks/fastapi/crud-operations.md)
- [Storing in Array](https://docs.arkannis.net/programming/python/frameworks/fastapi/storing-in-array.md)
- [Retrieve one individual entry](https://docs.arkannis.net/programming/python/frameworks/fastapi/retrieve-one-individual-entry.md)
- [Changing response Status Codes](https://docs.arkannis.net/programming/python/frameworks/fastapi/changing-response-status-codes.md)
- [Deleting entries](https://docs.arkannis.net/programming/python/frameworks/fastapi/deleting-entries.md)
- [Updating entries](https://docs.arkannis.net/programming/python/frameworks/fastapi/updating-entries.md)
- [API Documentation](https://docs.arkannis.net/programming/python/frameworks/fastapi/api-documentation.md)
- [Setup App Database & connect to database](https://docs.arkannis.net/programming/python/frameworks/fastapi/setup-app-database-and-connect-to-database.md)
- [FastAPI Response Model via Pydantic](https://docs.arkannis.net/programming/python/frameworks/fastapi/fastapi-response-model-via-pydantic.md)
- [Hashing passwords via FastAPI](https://docs.arkannis.net/programming/python/frameworks/fastapi/hashing-passwords-via-fastapi.md)
- [Getting user by ID](https://docs.arkannis.net/programming/python/frameworks/fastapi/getting-user-by-id.md)
- [FastAPI Routers](https://docs.arkannis.net/programming/python/frameworks/fastapi/fastapi-routers.md)
- [Router Prefix](https://docs.arkannis.net/programming/python/frameworks/fastapi/router-prefix.md)
- [Router Tags](https://docs.arkannis.net/programming/python/frameworks/fastapi/router-tags.md)
- [JWT Token Basics](https://docs.arkannis.net/programming/python/frameworks/fastapi/jwt-token-basics.md)
- [Login Process](https://docs.arkannis.net/programming/python/frameworks/fastapi/login-process.md)
- [Creating Token with OAuth2](https://docs.arkannis.net/programming/python/frameworks/fastapi/creating-token-with-oauth2.md)
- [OAuth2 PasswordRequestForm](https://docs.arkannis.net/programming/python/frameworks/fastapi/oauth2-passwordrequestform.md)
- [Verify user is Logged In](https://docs.arkannis.net/programming/python/frameworks/fastapi/verify-user-is-logged-in.md)
- [Protecting Routes](https://docs.arkannis.net/programming/python/frameworks/fastapi/protecting-routes.md)
- [Fetching User in Protected Routes](https://docs.arkannis.net/programming/python/frameworks/fastapi/fetching-user-in-protected-routes.md)
- [SQLAlchemy](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy.md)
- [What is an ORM](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/what-is-an-orm.md)
- [SQLAlchemy setup](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/sqlalchemy-setup.md)
- [Adding CreatedAt Column](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/adding-createdat-column.md)
- [CRUD via SQLAlchemy](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/crud-via-sqlalchemy.md)
- [Efficient way of passing params in SQLAlchemy](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/efficient-way-of-passing-params-in-sqlalchemy.md)
- [Creating Users Table via SQLAlchemy & FastAPI](https://docs.arkannis.net/programming/python/frameworks/sqlalchemy/creating-users-table-via-sqlalchemy-and-fastapi.md)
- [Virtual Environments (venv)](https://docs.arkannis.net/programming/python/virtual-environments-venv.md)
- [General Programming Concepts](https://docs.arkannis.net/programming/general-programming-concepts.md)
- [Interview Questions & Answers](https://docs.arkannis.net/programming/interview-questions-and-answers.md)
- [General Programming Questions](https://docs.arkannis.net/programming/interview-questions-and-answers/general-programming-questions.md)
- [Python Interview Questions Beginner](https://docs.arkannis.net/programming/interview-questions-and-answers/python-interview-questions-beginner.md)
- [Courses](https://docs.arkannis.net/programming/courses.md)
- [Python - PCAP-31-03 Course](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course.md)
- [Overview & Introduction](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction.md)
- [Exam Syllabus](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/exam-syllabus.md)
- [Basics of variables](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/basics-of-variables.md)
- [Basic Data Types](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-data-types.md)
- [Basic Arithmetic in Python](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-arithmetic-in-python.md)
- [Indexing and Slicing Strings](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/indexing-and-slicing-strings.md)
- [Basic String Methods](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/basic-string-methods.md)
- [Format Method](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/format-method.md)
- [Strings are Immutable](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/overview-and-introduction/strings-are-immutable.md)
- [Lists, Tuples and Dictionaries](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries.md)
- [Lists](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/lists.md)
- [Accessing Elements in Nested Lists](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/accessing-elements-in-nested-lists.md)
- [Finding Index positions in Lists and counting duplicates](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/finding-index-positions-in-lists-and-counting-duplicates.md)
- [Tuples](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/tuples.md)
- [Dictionaries](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/dictionaries.md)
- [Comparison Operators](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/lists-tuples-and-dictionaries/comparison-operators.md)
- [Functions and Variable Scope](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/functions-and-variable-scope.md)
- [Creating functions](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/creating-functions.md)
- [\*args and \*\*kwargs](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/args-and-kwargs.md)
- [Basic Variable scope](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/basic-variable-scope.md)
- [Scope and Nested functions](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/functions-and-variable-scope/scope-and-nested-functions.md)
- [Control Flow](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow.md)
- [If & Else Statements](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/if-and-else-statements.md)
- [Elif Statements](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/elif-statements.md)
- [For Loops](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/for-loops.md)
- [Pass Statement in For Loops](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/pass-statement-in-for-loops.md)
- [While Loops](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/while-loops.md)
- [Looping and Unpacking with Dictionaries and Tuples](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/looping-and-unpacking-with-dictionaries-and-tuples.md)
- [Range, Enumerate and Zip Functions](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/range-enumerate-and-zip-functions.md)
- [More Handy Functions and the Random Package](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/more-handy-functions-and-the-random-package.md)
- [Accepting Input from User](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/control-flow/accepting-input-from-user.md)
- [Modules, Packages and OOP](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop.md)
- [Revising the Difference between Methods and Functions](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/revising-the-difference-between-methods-and-functions.md)
- [Classes and Objects](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/classes-and-objects.md)
- [Classes Attributes vs Object Attributes](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/classes-attributes-vs-object-attributes.md)
- [Calling Python Code that is Saved in Another File](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/calling-python-code-that-is-saved-in-another-file.md)
- [Inheritance and Polymorphism](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/inheritance-and-polymorphism.md)
- [Abstract Classes and Methods](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/abstract-classes-and-methods.md)
- [Practical Application of OOP](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/practical-application-of-oop.md)
- [Double Under (Dunder) Methods](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/double-under-dunder-methods.md)
- [Python Script Files](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/python-script-files.md)
- [Python Files](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/python-files.md)
- [Understanding the if \_\_name\_\_ == '\_\_main\_\_' Syntax](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/modules-packages-and-oop/understanding-the-if-__name__-__main__-syntax.md)
- [File IO and Exception Handling](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling.md)
- [Exception Handling](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/exception-handling.md)
- [File IO](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/file-io.md)
- [File IO with Exception Handling](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/file-io-with-exception-handling.md)
- [OS Module](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/os-module.md)
- [argv Command Line Arguments and the re Module](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/file-io-and-exception-handling/argv-command-line-arguments-and-the-re-module.md)
- [Misc Stuff and Q\&A](https://docs.arkannis.net/programming/courses/python-pcap-31-03-course/misc-stuff-and-q-and-a.md)
- [IDE](https://docs.arkannis.net/programming/ide.md)
- [Virtual Studio Code](https://docs.arkannis.net/programming/ide/virtual-studio-code.md)
- [Cheatsheet](https://docs.arkannis.net/programming/ide/virtual-studio-code/cheatsheet.md)
- [Postman](https://docs.arkannis.net/programming/postman.md)
- [Postman Overview](https://docs.arkannis.net/programming/postman/postman-overview.md)
- [Create a GET HTTP request](https://docs.arkannis.net/programming/postman/create-a-get-http-request.md)
- [HTTP Requests](https://docs.arkannis.net/programming/postman/http-requests.md)
- [Saving Postman requests](https://docs.arkannis.net/programming/postman/saving-postman-requests.md)
- [Environment Variables](https://docs.arkannis.net/programming/postman/environment-variables.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.arkannis.net/programming.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
