"Open Data Structures" is another very useful free resource for anyone studying data structures and algorithms. ๐โจ
The book discusses the implementation and analysis of basic structures: array-based lists, linked lists, hash tables, binary trees, red-black trees, heaps, sorting algorithms, graphs, and data structures for working with integers. ๐๐งฎ
This is a full-fledged open textbook for studying one of the fundamental topics of computer science and a good reference that's worth keeping on hand. ๐ป๐
https://opendatastructures.org/ods-python.pdf ๐
๐ @PythonRe
#DataStructures #Algorithms #Python #ComputerScience #OpenSource #Learning
The book discusses the implementation and analysis of basic structures: array-based lists, linked lists, hash tables, binary trees, red-black trees, heaps, sorting algorithms, graphs, and data structures for working with integers. ๐๐งฎ
This is a full-fledged open textbook for studying one of the fundamental topics of computer science and a good reference that's worth keeping on hand. ๐ป๐
https://opendatastructures.org/ods-python.pdf ๐
#DataStructures #Algorithms #Python #ComputerScience #OpenSource #Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
โค7
How to check for the presence of subclasses in Python? ๐๐ง
Here's how you can do it:
This function uses the
#Python #Programming #Subclasses #Coding #Dev #Tech
Here's how you can do it:
import inspect
def has_subclasses(cls):
return any(issubclass(sub, cls) for sub in inspect.getmembers(sys.modules[cls.__module__], inspect.isclass))
This function uses the
inspect module to find all subclasses of the given class. ๐ ๏ธ#Python #Programming #Subclasses #Coding #Dev #Tech
โค5๐1
๐ Reminder about Python map()!
map() โ a built-in function that applies the specified function to each element of an iterable object (list, tuple, set, etc.).
The picture shows the basic syntax, an example of use with lambda, and a typical case โ data transformation without a manual for loop.
Save it to quickly remember the syntax!
๐๐ป๐บ๏ธ #Python #Coding #Programming #LearnToCode #DevTips #Tech
map() โ a built-in function that applies the specified function to each element of an iterable object (list, tuple, set, etc.).
The picture shows the basic syntax, an example of use with lambda, and a typical case โ data transformation without a manual for loop.
Save it to quickly remember the syntax!
๐๐ป๐บ๏ธ #Python #Coding #Programming #LearnToCode #DevTips #Tech
โค7๐1
If you're working with data pipelines, these repositories are very useful: ๐๐
ibis: A Python API that allows you to write queries once and run them on different data backends, such as DuckDB, BigQuery, and Snowflake. ๐๐
https://github.com/ibis-project/ibis
pygwalker: Instantly turns a DataFrame into an interactive UI for visual data exploration. ๐๐ฅ๏ธ
https://github.com/Kanaries/pygwalker
katana: A fast and scalable web crawler, often used for security testing and large-scale data collection/search. ๐ท๏ธ๐
https://github.com/projectdiscovery/katana
#dataengineering #python #opensource #devtools #dataviz #security
ibis: A Python API that allows you to write queries once and run them on different data backends, such as DuckDB, BigQuery, and Snowflake. ๐๐
https://github.com/ibis-project/ibis
pygwalker: Instantly turns a DataFrame into an interactive UI for visual data exploration. ๐๐ฅ๏ธ
https://github.com/Kanaries/pygwalker
katana: A fast and scalable web crawler, often used for security testing and large-scale data collection/search. ๐ท๏ธ๐
https://github.com/projectdiscovery/katana
#dataengineering #python #opensource #devtools #dataviz #security
โค3
Why is enumerate() used in Python? ๐ค๐
It allows you to simultaneously obtain the value of an element and its index when iterating through a list. ๐โจ
This is more convenient and more readable than manually working with a counter. โ ๐
#Python #Coding #Programming #Dev #Tech #Code
โจ Join Best TG Channels
https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel
https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
It allows you to simultaneously obtain the value of an element and its index when iterating through a list. ๐โจ
This is more convenient and more readable than manually working with a counter. โ ๐
for i, item in enumerate(items):
print(i, item)
#Python #Coding #Programming #Dev #Tech #Code
โจ Join Best TG Channels
https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel
https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค4๐1๐1
Data validation with Pydantic! ๐โจ
In the early stages of development, data validation usually doesn't cause problems. In many Python projects, validation initially looks simple:
But then come email, JSON from APIs, query parameters, nested objects, configs, nullable fields, and type conversion. At some point, the code turns into a set of if/else and manual checks.
For such tasks, Pydantic is often used. Installation:
Create a model:
Now the data is validated automatically:
The result:
30
<class 'int'>
Pydantic will automatically convert the string "30" to an int. If you pass an incorrect value, you'll get a ValidationError:
This is especially convenient when working with APIs, JSON, query parameters, and incoming data from outside.
A common production case is checking email:
If the email is invalid, Pydantic will throw a ValidationError. You can set default values:
And allow None:
This field becomes optional. A practical example is processing an API response:
The types will be automatically converted. For nested model structures, you can combine:
The nested object will also be validated. Serialization in Pydantic v2:
Pydantic is actively used in FastAPI, ETL, microservices, data pipelines, and API clients.
For working with environment variables in Pydantic v2, a separate package is usually used:
It's important to understand: Pydantic is not an ORM and does not replace business logic. Its task is to validate data, convert types, and describe schemas.
๐ฅ Pydantic significantly reduces the amount of manual data validation and makes processing incoming structures more predictable.
#Python #Pydantic #DataValidation #FastAPI #Coding #DevOps
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
In the early stages of development, data validation usually doesn't cause problems. In many Python projects, validation initially looks simple:
if not isinstance(age, int):
raise ValueError("age must be an int")
But then come email, JSON from APIs, query parameters, nested objects, configs, nullable fields, and type conversion. At some point, the code turns into a set of if/else and manual checks.
For such tasks, Pydantic is often used. Installation:
pip install pydantic
pip install "pydantic[email]"
Create a model:
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
Now the data is validated automatically:
user = User(
name="Alex",
age="30"
)
print(user.age)
print(type(user.age))
The result:
30
<class 'int'>
Pydantic will automatically convert the string "30" to an int. If you pass an incorrect value, you'll get a ValidationError:
User(
name="Alex",
age="test"
)
This is especially convenient when working with APIs, JSON, query parameters, and incoming data from outside.
A common production case is checking email:
from pydantic import BaseModel, EmailStr
class User(BaseModel):
email: EmailStr
User(email="alex@test.com")
If the email is invalid, Pydantic will throw a ValidationError. You can set default values:
from pydantic import BaseModel
class Config(BaseModel):
host: str = "localhost"
port: int = 5432
And allow None:
from pydantic import BaseModel
class User(BaseModel):
nickname: str | None = None
This field becomes optional. A practical example is processing an API response:
from pydantic import BaseModel
class Product(BaseModel):
id: int
title: str
price: float
data = {
"id": "1",
"title": "Keyboard",
"price": "99.5"
}
product = Product(**data)
print(product)
The types will be automatically converted. For nested model structures, you can combine:
from pydantic import BaseModel
class Address(BaseModel):
city: str
zip_code: str
class User(BaseModel):
name: str
address: Address
user = User(
name="Alex",
address={
"city": "Berlin",
"zip_code": "10115"
}
)
print(user)
The nested object will also be validated. Serialization in Pydantic v2:
print(user.model_dump())
print(user.model_dump_json())
Pydantic is actively used in FastAPI, ETL, microservices, data pipelines, and API clients.
For working with environment variables in Pydantic v2, a separate package is usually used:
pip install pydantic-settings
It's important to understand: Pydantic is not an ORM and does not replace business logic. Its task is to validate data, convert types, and describe schemas.
๐ฅ Pydantic significantly reduces the amount of manual data validation and makes processing incoming structures more predictable.
#Python #Pydantic #DataValidation #FastAPI #Coding #DevOps
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Telegram
AI PYTHON ๐
Youโve been invited to add the folder โAI PYTHON ๐โ, which includes 14 chats.
โค3๐1
# Cheat sheet on high-order functions in Python:
๐
๐
๐
โก
๐ฆ
๐
๐ง
#Python #Programming #HighOrderFunctions #FunctionalProgramming #Coding #MapFilterReduce
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐
map() - applies a function to every element of an iterable and returns an iterator with the results๐
filter() - filters elements based on a condition and leaves only those for which the function returns True๐
reduce() - successively combines all elements of an iterable into a single valueโก
lambda functions - anonymous functions for short expressions and working with map/filter/reduce๐ฆ
iterable objects - lists, tuples, and other collections for processing๐
functools - a Python module that contains reduce()๐ง
functional programming - an approach to programming through functions and data processing without changing the state```pythonint(total)```
# Example usage
from functools import reduce
# map
squared = map(lambda x: x**2, [1, 2, 3, 4])
print(list(squared))
# filter
evens = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])
print(list(evens))
# reduce
total = reduce(lambda x, y: x + y, [1, 2, 3, 4])
pr
#Python #Programming #HighOrderFunctions #FunctionalProgramming #Coding #MapFilterReduce
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค3๐ฅ2๐1
This media is not supported in your browser
VIEW IN TELEGRAM
โค๏ธ Architecture Patterns โ an informative repository on backend architecture in Python!
Here, they excellently demonstrate how to properly separate application logic, work with complex architecture, build a scalable backend, and maintain a codebase in an adequate state as the project grows. Instead of dry theory, the authors gradually build a full-fledged application and show how the architecture evolves as the project grows.
I'll leave a link: https://github.com/cosmicpython/book
#Python #Backend #Architecture #Coding #DevCommunity #OpenSource
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Here, they excellently demonstrate how to properly separate application logic, work with complex architecture, build a scalable backend, and maintain a codebase in an adequate state as the project grows. Instead of dry theory, the authors gradually build a full-fledged application and show how the architecture evolves as the project grows.
I'll leave a link: https://github.com/cosmicpython/book
#Python #Backend #Architecture #Coding #DevCommunity #OpenSource
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค2
Why in Python it is better to check None using is ๐
In Python, you should not write obj == None, even if sometimes it works the same โ ๏ธ
The reason is that == calls the comparison method eq, which can be overridden in the class โ and then the behavior becomes unpredictable ๐ฒ
For example:
Here obj == None gives a false result due to custom logic ๐ค
Instead:
obj is None
is checks the identity of the object and cannot be overridden. Since None is a singleton, such a check is always correct and predictable โ
Conclusion: to check for None always use is None โ it is the right and safe approach ๐ก๏ธ
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
#Python #Programming #Coding #SoftwareDevelopment #TechTips #DevCommunity
In Python, you should not write obj == None, even if sometimes it works the same โ ๏ธ
The reason is that == calls the comparison method eq, which can be overridden in the class โ and then the behavior becomes unpredictable ๐ฒ
For example:
class Weird:
def eq(self, other):
return True # always says "equal"
obj = Weird()
print(obj == None) # True
print(obj is None) # False
Here obj == None gives a false result due to custom logic ๐ค
Instead:
obj is None
is checks the identity of the object and cannot be overridden. Since None is a singleton, such a check is always correct and predictable โ
Conclusion: to check for None always use is None โ it is the right and safe approach ๐ก๏ธ
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
#Python #Programming #Coding #SoftwareDevelopment #TechTips #DevCommunity
Telegram
AI PYTHON ๐
Youโve been invited to add the folder โAI PYTHON ๐โ, which includes 14 chats.
โค4
Deep copying of objects with the copy module ๐๐ฆ
The link trap in Python ๐๐ณ๏ธ
When you assign a list to another variable (A = B) or make a regular slice (A = B[:]), Python doesn't physically copy the data. It simply creates a new reference to the same objects in memory. If the list contains other mutable objects (lists, dictionaries, custom classes), standard copying methods will only create a shallow copy. The copy module allows you to control this process.
โ Breaking the links: The deepcopy function recursively traverses the entire data structure and creates honest, independent duplicates for each nested element. This ensures that changes in the copy will not harm the original data. ๐๐
โ Safe state: The use of deep copying is critical when implementing design patterns (for example, Snapshot/Memento), creating game state backups, or when you pass complex configurations to functions that may modify them accidentally. ๐ก๏ธ๐พ
โ A sensible balance: It's worth remembering that deepcopy works slower and consumes more memory than shallow copying, as it spends resources on creating new objects and checking for cyclic references. Use it specifically when there are nested mutable containers within the structure. โ๏ธ๐ง
#Python #Programming #DeepCopy #Coding #Tech #Dev
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
import copy
# Original list with nested structure
original = [[1, 2, 3], [4, 5, 6]]
# 1. Shallow copy
shallow = copy.copy(original)
shallow[0][0] = 'X'
# Oh no! Both lists have changed, because the nested list wasn't copied, but passed by reference
print(f"Original after shallow: {original}") # [['X', 2, 3], [4, 5, 6]]
# Restore the data
original = [[1, 2, 3], [4, 5, 6]]
# 2. Deep copy
deep = copy.deepcopy(original)
deep[0][0] = 'X'
# Everything is fine! Only deep has changed, the original remains untouched
print(f"Original after deep: {original}") # [[1, 2, 3], [4, 5, 6]]
The link trap in Python ๐๐ณ๏ธ
When you assign a list to another variable (A = B) or make a regular slice (A = B[:]), Python doesn't physically copy the data. It simply creates a new reference to the same objects in memory. If the list contains other mutable objects (lists, dictionaries, custom classes), standard copying methods will only create a shallow copy. The copy module allows you to control this process.
โ Breaking the links: The deepcopy function recursively traverses the entire data structure and creates honest, independent duplicates for each nested element. This ensures that changes in the copy will not harm the original data. ๐๐
โ Safe state: The use of deep copying is critical when implementing design patterns (for example, Snapshot/Memento), creating game state backups, or when you pass complex configurations to functions that may modify them accidentally. ๐ก๏ธ๐พ
โ A sensible balance: It's worth remembering that deepcopy works slower and consumes more memory than shallow copying, as it spends resources on creating new objects and checking for cyclic references. Use it specifically when there are nested mutable containers within the structure. โ๏ธ๐ง
#Python #Programming #DeepCopy #Coding #Tech #Dev
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Telegram
AI PYTHON ๐
Youโve been invited to add the folder โAI PYTHON ๐โ, which includes 14 chats.
โค6
Regular for-loops are versatile but not always optimal: they add extra interpreter overhead, which is especially noticeable on large data ๐
In such cases, it's better to use standard Python tools, for example itertools โ๏ธ
For example, to get all unique pairs from a list, nested loops are not needed โ just combinations():
Conclusion: instead of manual loops, it's better to use ready-made tools from the standard library โ it's cleaner and more efficient ๐
#Python #Coding #Programming #Developer #Tech #Optimization
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
In such cases, it's better to use standard Python tools, for example itertools โ๏ธ
For example, to get all unique pairs from a list, nested loops are not needed โ just combinations():
from itertools import combinations
def get_unique_pairs(items):
return list(combinations(items, 2))
print(get_unique_pairs(['A', 'B', 'C', 'D']))
# Output:
# [('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]
Conclusion: instead of manual loops, it's better to use ready-made tools from the standard library โ it's cleaner and more efficient ๐
#Python #Coding #Programming #Developer #Tech #Optimization
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค5๐1
๐ Python Roadmap 2026: Finally, a comprehensive and up-to-date map for learning Python, not just a list of "figure it out yourself" links
A large Russian-language Python roadmap for 2026 has been posted on GitHub - from the first scripts to the Middle+/Senior level.
The route is compiled for modern Python:
- Python 3.13+
- free-threaded mode without GIL
- JIT
- uv instead of the hassle with pip/venv/poetry
- ruff, pyright, pytest, hypothesis
- async-first approach
- typing
- CPython inside
- web, databases, ML/AI, DevOps, and architecture
The roadmap has a logical sequence: first the environment and foundation, then idioms, OOP, types, the standard library, asynchrony, testing, CPython internals, web, databases, the AI direction, production, and architecture.
A particular plus is the practical format. At each stage, there are tasks, checklists, code examples, and free resources. This is not a motivational document, but a roadmap that you can actually follow for several months and see progress.
For beginners - a clear path without chaos.
For juniors - a way to fill in the gaps.
For those who already write in Python - a good checklist to understand where you're still struggling.
Python in 2026 is about tooling, types, async, infrastructure, AI, and production discipline. And this roadmap is exactly about such a Python.
https://github.com/justxor/pythonroamap2026
#Python #PythonRoadmap #Programming #2026 #Coding #DevOps
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
A large Russian-language Python roadmap for 2026 has been posted on GitHub - from the first scripts to the Middle+/Senior level.
The route is compiled for modern Python:
- Python 3.13+
- free-threaded mode without GIL
- JIT
- uv instead of the hassle with pip/venv/poetry
- ruff, pyright, pytest, hypothesis
- async-first approach
- typing
- CPython inside
- web, databases, ML/AI, DevOps, and architecture
The roadmap has a logical sequence: first the environment and foundation, then idioms, OOP, types, the standard library, asynchrony, testing, CPython internals, web, databases, the AI direction, production, and architecture.
A particular plus is the practical format. At each stage, there are tasks, checklists, code examples, and free resources. This is not a motivational document, but a roadmap that you can actually follow for several months and see progress.
For beginners - a clear path without chaos.
For juniors - a way to fill in the gaps.
For those who already write in Python - a good checklist to understand where you're still struggling.
Python in 2026 is about tooling, types, async, infrastructure, AI, and production discipline. And this roadmap is exactly about such a Python.
https://github.com/justxor/pythonroamap2026
#Python #PythonRoadmap #Programming #2026 #Coding #DevOps
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค2
5 More Must-Know Python Concepts ๐
Let's take a look at five more fundamental concepts that every Python developer should have in their toolkit. ๐ ๏ธ
Read: https://www.kdnuggets.com/5-more-must-know-python-concepts ๐
#Python #Programming #Coding #Developer #TechTips #LearnPython
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Let's take a look at five more fundamental concepts that every Python developer should have in their toolkit. ๐ ๏ธ
Read: https://www.kdnuggets.com/5-more-must-know-python-concepts ๐
#Python #Programming #Coding #Developer #TechTips #LearnPython
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค1
Forwarded from Machine Learning with Python
This media is not supported in your browser
VIEW IN TELEGRAM
โ๏ธ Pyneng โ a large base for Python and network automation!
Detailed documentation and educational materials. The site contains lessons on Python syntax, working with files, functions, OOP, as well as separate sections on network technologies. The materials are presented with a large number of examples and practical tasks.
๐ I'll leave a link: https://pyneng.readthedocs.io/en/latest/
#Python #NetworkAutomation #Pyneng #LearnPython #DevOps #TechEducation
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
Detailed documentation and educational materials. The site contains lessons on Python syntax, working with files, functions, OOP, as well as separate sections on network technologies. The materials are presented with a large number of examples and practical tasks.
๐ I'll leave a link: https://pyneng.readthedocs.io/en/latest/
#Python #NetworkAutomation #Pyneng #LearnPython #DevOps #TechEducation
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค4
When you're doing a parser or migrating a site, there's often a pile of unreadable HTML markup on the screen. Converting this into neat Markdown is usually a hassle.
In the open code, I found a convenient tool called python-markdownify, which precisely solves the problem of converting HTML to Markdown.
The logic is simple: you take bulky HTML and get a clear and well-structured Markdown as a result.
The tool is easily customizable. You can clean up the necessary tags, change the format of headings, and neatly process tables and images. All of this can be configured.
It's installed via pip. It can be used both from Python code and from the command line, converting files in batches.
If desired, you can inherit and redefine the conversion rules for your own cases. The extensibility is fine there.
If you have to process large amounts of text or migrate a blog, the library saves a lot of time that would otherwise be spent on tedious work with regular expressions.
โก๏ธ Link to GitHub
http://github.com/matthewwithanm/python-markdownify
#python #markdown #html #coding #devtools #opensource
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
In the open code, I found a convenient tool called python-markdownify, which precisely solves the problem of converting HTML to Markdown.
The logic is simple: you take bulky HTML and get a clear and well-structured Markdown as a result.
The tool is easily customizable. You can clean up the necessary tags, change the format of headings, and neatly process tables and images. All of this can be configured.
It's installed via pip. It can be used both from Python code and from the command line, converting files in batches.
pip install python-markdownify
If desired, you can inherit and redefine the conversion rules for your own cases. The extensibility is fine there.
If you have to process large amounts of text or migrate a blog, the library saves a lot of time that would otherwise be spent on tedious work with regular expressions.
โก๏ธ Link to GitHub
http://github.com/matthewwithanm/python-markdownify
#python #markdown #html #coding #devtools #opensource
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
โค4
Advice for Python, UV, and Docker ๐๐ณ
Sometimes dependencies are better installed separately from the code โ this noticeably speeds up the compilation of Docker images ๐
The idea is simple: first, we install dependencies, then we add the project ๐
Why is this necessary:
โข Docker caches layers and does not rebuild them unnecessarily โก๏ธ
โข if only the code changes โ the dependencies are taken from the cache ๐พ
โข if the dependencies change โ only the corresponding layer is rebuilt ๐
โข without this, any minor change triggers a full reinstallation ๐
Example:
#Python #Docker #DevOps #UV #SoftwareEngineering #TechTips
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
Sometimes dependencies are better installed separately from the code โ this noticeably speeds up the compilation of Docker images ๐
The idea is simple: first, we install dependencies, then we add the project ๐
Why is this necessary:
โข Docker caches layers and does not rebuild them unnecessarily โก๏ธ
โข if only the code changes โ the dependencies are taken from the cache ๐พ
โข if the dependencies change โ only the corresponding layer is rebuilt ๐
โข without this, any minor change triggers a full reinstallation ๐
Example:
RUN --mount=type=cache,target=/root/.cache/uv --mount=type=bind,source=uv.lock,target=uv.lock --mount=type=bind,source=pyproject.toml,target=pyproject.toml uv sync --locked --no-install-project
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv uv sync --locked
#Python #Docker #DevOps #UV #SoftwareEngineering #TechTips
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
โค4
Limiting program resources using the resource module ๐ก๏ธ
Protecting the server from "greedy" code ๐ง
When you run someone else's code, process user files, or write parsers, there's always a risk of a memory leak or an infinite loop. If such a script runs on the server, it can fill up all the RAM and bring down neighboring important processes (for example, the database). The built-in resource module (works on Unix/Linux/macOS) allows you to strictly limit the program's appetites.
โ Safe environment: You can limit not only RAM (RLIMIT_AS), but also CPU time (RLIMIT_CPU). If the code goes into an infinite loop, the system will gracefully terminate it after a specified number of seconds.
โ File system control: Using RLIMIT_FSIZE, you can prevent the script from creating files larger than a certain size. This will save the server's disks from being accidentally overwritten by gigantic logs.
โ Precise audit: The getrusage function provides detailed statistics on the current process: how much time the CPU spent on calculations, how many I/O operations there were, and what the maximum amount of memory used was during the entire operation.
#Python #ResourceManagement #ServerSafety #Coding #DevOps #Linux
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
import resource
import sys
# 1. Limiting the size of RAM (soft and hard limits in bytes)
# Limit the memory to ~50 MB
memory_limit = 50 * 1024 * 1024
resource.setrlimit(resource.RLIMIT_AS, (memory_limit, memory_limit))
# 2. Checking the protection's working
try:
print("Trying to allocate a huge array of memory...")
huge_list = [i for i in range(10_000_000)]
except MemoryError:
print("The limit worked! The program didn't crash, but caught the error.")
# 3. Finding out how many resources the script has already consumed
usage = resource.getrusage(resource.RUSAGE_SELF)
print(f"Peak memory consumption (in KB): {usage.ru_maxrss}")
Protecting the server from "greedy" code ๐ง
When you run someone else's code, process user files, or write parsers, there's always a risk of a memory leak or an infinite loop. If such a script runs on the server, it can fill up all the RAM and bring down neighboring important processes (for example, the database). The built-in resource module (works on Unix/Linux/macOS) allows you to strictly limit the program's appetites.
โ Safe environment: You can limit not only RAM (RLIMIT_AS), but also CPU time (RLIMIT_CPU). If the code goes into an infinite loop, the system will gracefully terminate it after a specified number of seconds.
โ File system control: Using RLIMIT_FSIZE, you can prevent the script from creating files larger than a certain size. This will save the server's disks from being accidentally overwritten by gigantic logs.
โ Precise audit: The getrusage function provides detailed statistics on the current process: how much time the CPU spent on calculations, how many I/O operations there were, and what the maximum amount of memory used was during the entire operation.
#Python #ResourceManagement #ServerSafety #Coding #DevOps #Linux
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
Telegram
AI PYTHON ๐
Youโve been invited to add the folder โAI PYTHON ๐โ, which includes 14 chats.
โค4
๐ SPOTO Mid-Year Sale โ Grab Your IT Certification Success Kit!
๐ฅ Whether you're prepping for #Python, #AI, #Cisco, #PMI, #Fortinet, #AWS, #Azure, #Excel, #Comptia, #ITIL, #Cloud or any other hot certification โ SPOTO has your back with real exam dumps and hands-on training!
โ Free Resources:
ใปFree Python, Excel, Cyber Security, Cisco, SQL, ITIL, PMP, AWS courses: https://bit.ly/4alTSfk
ใปIT Certs E-book: https://bit.ly/49ub0zq
ใปIT Exams Skill Test: https://bit.ly/4dVPapB
ใปFree AI material and support tools: https://bit.ly/4elzcpl
ใปFree Cloud Study Guide: https://bit.ly/4u7sdG0
๐ Join SPOTO Mid-Year Lucky Draw:
๐ฑ iPhone 17 ๐ Free Order
๐ Amazon Gift $100 ๐PMP/ AWS/ CCNA Course
๐ Enter the Draw Now โ https://bit.ly/4uN3lVt
๐ Join Our IT Learning Community for free resources & support:
https://chat.whatsapp.com/FmbIbbqm2QhKglVpVTSH4d
๐ฌ Want exam help? Chat with an admin now:
https://wa.link/knicza
โฐ Mid-Year Deal Ends Soon โ Don't Miss Out!
๐ฅ Whether you're prepping for #Python, #AI, #Cisco, #PMI, #Fortinet, #AWS, #Azure, #Excel, #Comptia, #ITIL, #Cloud or any other hot certification โ SPOTO has your back with real exam dumps and hands-on training!
โ Free Resources:
ใปFree Python, Excel, Cyber Security, Cisco, SQL, ITIL, PMP, AWS courses: https://bit.ly/4alTSfk
ใปIT Certs E-book: https://bit.ly/49ub0zq
ใปIT Exams Skill Test: https://bit.ly/4dVPapB
ใปFree AI material and support tools: https://bit.ly/4elzcpl
ใปFree Cloud Study Guide: https://bit.ly/4u7sdG0
๐ Join SPOTO Mid-Year Lucky Draw:
๐ฑ iPhone 17 ๐ Free Order
๐ Amazon Gift $100 ๐PMP/ AWS/ CCNA Course
๐ Enter the Draw Now โ https://bit.ly/4uN3lVt
๐ Join Our IT Learning Community for free resources & support:
https://chat.whatsapp.com/FmbIbbqm2QhKglVpVTSH4d
๐ฌ Want exam help? Chat with an admin now:
https://wa.link/knicza
โฐ Mid-Year Deal Ends Soon โ Don't Miss Out!
A 14-day tutorial where you build a Python code-agent CLI in the style of Claude Code from scratch and simultaneously understand how the Agent Harness actually works. ๐ ๏ธ๐ค
In the end, you don't just call a ready-made agent via the API, but you understand the components that make up a Claude Code-like tool. ๐ง โ๏ธ
https://github.com/bozhouDev/14days-build-claude-code-cli/blob/main/README.en.md
#Python #AI #ClaudeCode #CLI #CodingTutorial #Tech
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
In the end, you don't just call a ready-made agent via the API, but you understand the components that make up a Claude Code-like tool. ๐ง โ๏ธ
https://github.com/bozhouDev/14days-build-claude-code-cli/blob/main/README.en.md
#Python #AI #ClaudeCode #CLI #CodingTutorial #Tech
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
GitHub
14days-build-claude-code-cli/README.en.md at main ยท bozhouDev/14days-build-claude-code-cli
็ฝ้กต็ๆ็จ๏ผ็่ตทๆฅไผ่ๆไธ็น. Contribute to bozhouDev/14days-build-claude-code-cli development by creating an account on GitHub.
โค1๐ฅ1
Python can substitute an empty context manager without conditions inside!
It often happens that a resource needs to be opened via
This usually leads to code duplication or conditions around
`nullcontext(obj)
But note that
๐ฅ
#Python #ContextManager #CodingTips #DevLife #Programming #Tech
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO
It often happens that a resource needs to be opened via
with, and sometimes the object is already ready and there's no need to open anything.This usually leads to code duplication or conditions around
with:if need_open:
f = open(...)
else:
f = existing_file
`nullcontext(obj)
behaves like an empty context manager and allows you to maintain a single execution flow.
This is especially useful for APIs, tests, optional resources, dependency injection, and functions that can accept both a path and a ready-made object.
with ctx as resource:
process(resource)
But note that
nullcontext() does not close the passed object โ it simply passes it on further.๐ฅ
nullcontext() helps to unify scenarios with optional context managers and significantly simplifies the architecture of IO code.#Python #ContextManager #CodingTips #DevLife #Programming #Tech
โจ Join Best TG Channels https://t.me/addlist/0f6vfFbEMdAwODBk
โญ๏ธ Join Our WhatsApp Channel https://whatsapp.com/channel/0029VaC7Weq29753hpcggW2A
๐ Level up your AI & Data Science skills with HelloEncyclo โ a growing all-in-one platform featuring hands-on courses in LLMs, Deep Learning, MLOps, Data Engineering, and more.
โ 13 courses live + 40+ coming soon
๐ฏ One access, lifetime updates
๐ Use code: PRESALE-BOOK-WAVE-2GFG
๐ https://helloencyclo.com/?ref=HUSSEINSHEIKHO