Explore the "A Day with Linux Ubuntu Experience," where you'll discover how Ubuntu offers a smooth and powerful operating system tailored for developers. This blog highlights its customizable interface, allowing users to tailor their environments to fit their workflow seamlessly.
This blog takes you through a typical day using Ubuntu, showcasing its user-friendly interface, robust security features, and extensive software library.
Discover how Ubuntu enhances productivity with essential applications for web browsing, communication, and multimedia tasks. Whether you're a beginner or an experienced user, learn tips and tricks to customize your environment and maximize efficiency.
Join us as we explore the seamless integration of tools that make Linux a preferred choice for developers and everyday users alike.
here all of them are separated with spaces. It is difficult for larger data to handle also we cannot add more than one value inserted, which causes confusion. for example,
databases comes into picture, by handling large amounts of data, by handling duplicates or more than one value and can be queried based on the user needs at faster rate.
Databases contains list of tables which has number of rows and columns.
Database management System (DBMS)
A Database Management System (DBMS) is a software system designed to manage, organize, and provide access to databases in an efficient and secure manner.
Types ofDatabase models
Hierarchial database model
Hierarichial database model is arranged like a “family tree like structure”.
data will be stored one below another.
- Hi
* Hello
* World
2. Network Database model
Network database model stores in a form of graph data structure.
A graph contains edges and vertices.
Vertices are the thing are object that are represented in a graph
Edges are used to connect between two vertices.
Best example: Neo4j is a graph database which has network of people with edges connected between people for a common cause between two people.
3. Relational database model
Relational database model is a organized list of data which is stored in a group of lists which are called tables. Also we make relationship between two tables by calling each of the list in a table.
Example: MySQL, postgreSQL, etc.,
Types of Integrity
Entity integrity – uniqueness
Entity integrity is defined as the maintainance of records which is unique and can be found with no duplication.
Referential integrity – verify connection
referential integrity is used to verify connection between relationship on two or more tables.
User-defined integrity – custom rules for the data
User can set their own rules for the given data to stored. Not feasible using SQL. Only done with programming languages (backend).
Domain integrity – valid data
domain integrity ensures valid data on each columns in a table.
for example: if we consider a column named ‘date’ then it must contain day/month/year format.
If you’re a Python developer, you’re probably familiar with pip and pip-tools, the go-to tools for managing Python packages. However, did you know that there’s a faster alternative that can save you time and improve your workflow?
Meet UV
uv is a package installer used for installing packages in python in a faster way. Which is written on Rust 🦀 , makes a warping speed in installation of packages as compared to pip and pip-tools.
Also, It is Free and Open Source done by astral-sh. which has around 11.3k stars on GitHub makes a very trending alternative package manager for python.
pip vs uv
As per astral-sh, they claim uv makes as very faster on installation of python packages, as compared to poetry , which is a another python package manager and pip-compile
Also, we can able to create a virtual environment, at a warping speed as compared to python3 venv or virtualenv.
My experience and Benchmarks
Nowadays, I am using uv as a package manager for doing my side projects. Which feels very good on developing python applications and it will be definitely useful on containerizing python applications using docker.
But now, uv has make my life easier with warping speed in installation on packages, suitable for building and deploying our containers as our need with many repitition and hassle-free in building docker containers.
Here is my comparison on pip and uv, Let’s start with pip
The above pic shows that it takes almost 3.84 or approximately 4 seconds to create a virtual environment in python whereas,
uv takes just 0.01 seconds to create a virtual environment in python. Now we move on with installing packages such as fastapi and langchain at same time, which has more dependencies than ever worked with.
pip install fastapi langchain
This takes around 22.5 seconds, which is fast today 😂, Sometimes which makes it even slower during installation at crucial time. Now let’s check with uv.
uv, makes a warping installation of langchain and fastapi at same time within 0.12 seconds. 🤯💥
Which makes me to use ‘uv’ as my package manager for python while developing my projects at recent times.
uv Installation and usage
Firstly copy the command for installation using linux,
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/uv/releases/download/0.1.38/uv-installer.sh | sh
for mac users, go and download official binaries provided by astral-sh, given here.
Virtual Environment creation
for creating virtual environments for python, we can use
uv venv <environment-name>
for <environment-name> give any name your wish.
Package Installation
for package Installation , we have to use
uv pip install <package-name>
Conclusion
Through this blog post, we have learned about uv package manager and how it is effective in making our python workflows faster and building our containers faster and ease of deployment .
this command will clone all the files present in the repository.
but please make sure that you have installed git on your PC.
Then change directory to simplecalculatorbash using
cd simplecalculatorbash/
then type,
chmod +x calci.sh
this command changes the permission to run on user without depending on root . So that many PC cause this error that permission was denied while executing the file.
For execution run type,
./calci.sh
and press enter key
which will run very colourful calculator interactive prompt by installing dependencies which I posted on GitHub.