0% found this document useful (0 votes)
3 views89 pages

Learn Autonomous Programming With Python Utilize Pythons Capabilities In Artificial Intelligence Machine Learning Deep Learning And Robotic Process Automation English Edition P Divadkar instant download

The document is an overview of the book 'Learn Autonomous Programming With Python' by Varun P Divadkar, which focuses on utilizing Python for artificial intelligence, machine learning, deep learning, and robotic process automation. It outlines the structure of the book, including chapters on various topics such as web scraping, automation of business processes, and intelligent automation using machine learning. The book aims to provide a comprehensive guide for students and professionals to enhance their Python programming skills in relevant industry applications.

Uploaded by

zixxigrica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views89 pages

Learn Autonomous Programming With Python Utilize Pythons Capabilities In Artificial Intelligence Machine Learning Deep Learning And Robotic Process Automation English Edition P Divadkar instant download

The document is an overview of the book 'Learn Autonomous Programming With Python' by Varun P Divadkar, which focuses on utilizing Python for artificial intelligence, machine learning, deep learning, and robotic process automation. It outlines the structure of the book, including chapters on various topics such as web scraping, automation of business processes, and intelligent automation using machine learning. The book aims to provide a comprehensive guide for students and professionals to enhance their Python programming skills in relevant industry applications.

Uploaded by

zixxigrica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 89

Learn Autonomous Programming With Python Utilize

Pythons Capabilities In Artificial Intelligence


Machine Learning Deep Learning And Robotic
Process Automation English Edition P Divadkar
download
https://ebookbell.com/product/learn-autonomous-programming-with-
python-utilize-pythons-capabilities-in-artificial-intelligence-
machine-learning-deep-learning-and-robotic-process-automation-
english-edition-p-divadkar-55953444

Explore and download more ebooks at ebookbell.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Learn Robotics Programming Build And Control Aienabled Autonomous


Robots Using The Raspberry Pi And Python 2nd Danny Staple

https://ebookbell.com/product/learn-robotics-programming-build-and-
control-aienabled-autonomous-robots-using-the-raspberry-pi-and-
python-2nd-danny-staple-56045028

Learn Robotics Programming Build And Control Autonomous Robots Using


Raspberry Pi 3 And Python Staple

https://ebookbell.com/product/learn-robotics-programming-build-and-
control-autonomous-robots-using-raspberry-pi-3-and-python-
staple-20640172

Operational Excellence In Your Office A Guide To Achieving Autonomous


Value Stream Flow With Lean Techniques Duggan

https://ebookbell.com/product/operational-excellence-in-your-office-a-
guide-to-achieving-autonomous-value-stream-flow-with-lean-techniques-
duggan-5674138

Learn Javafx Game And App Development With Fxgl 17 1st Edition Almas
Baimagambetov

https://ebookbell.com/product/learn-javafx-game-and-app-development-
with-fxgl-17-1st-edition-almas-baimagambetov-44879768
Learn C The Hard Way Practical Exercises On The Computational Subjects
You Keep Avoiding Like C Zed A Shaw

https://ebookbell.com/product/learn-c-the-hard-way-practical-
exercises-on-the-computational-subjects-you-keep-avoiding-like-c-zed-
a-shaw-44988700

Learn To Read Ancent Sumerian An Introduction For Complete Begiknners


Joshua Bowen

https://ebookbell.com/product/learn-to-read-ancent-sumerian-an-
introduction-for-complete-begiknners-joshua-bowen-45333320

Learn C Programming A Beginners Guide To Learning The Most Powerful


And Generalpurpose Programming Language With Ease 2nd Edition 2nd Jeff
Szuhay

https://ebookbell.com/product/learn-c-programming-a-beginners-guide-
to-learning-the-most-powerful-and-generalpurpose-programming-language-
with-ease-2nd-edition-2nd-jeff-szuhay-45462930

Learn Enough Ruby To Be Dangerous Write Programs Publish Gems And


Develop Sinatra Web Apps With Ruby Michael Hartl

https://ebookbell.com/product/learn-enough-ruby-to-be-dangerous-write-
programs-publish-gems-and-develop-sinatra-web-apps-with-ruby-michael-
hartl-46132216

Learn Guitar The Easy Way The Easy Way To Play Guitar Using Simplified
Chords Paolo Ocampo

https://ebookbell.com/product/learn-guitar-the-easy-way-the-easy-way-
to-play-guitar-using-simplified-chords-paolo-ocampo-46157382
Learn Autonomous
Programming with
Python
Utilize Python’s capabilities in
artificial intelligence, machine
learning, deep learning and
robotic process automation

Varun P Divadkar

www.bpbonline.com
First Edition 2024

Copyright © BPB Publications, India

ISBN: 978-93-55517-630

All Rights Reserved. No part of this publication may be


reproduced, distributed or transmitted in any form or by any
means or stored in a database or retrieval system, without
the prior written permission of the publisher with the
exception to the program listings which may be entered,
stored and executed in a computer system, but they can not
be reproduced by the means of publication, photocopy,
recording, or by any electronic and mechanical means.

LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY

The information contained in this book is true to correct and


the best of author’s and publisher’s knowledge. The author
has made every effort to ensure the accuracy of these
publications, but publisher cannot be held responsible for
any loss or damage arising from any information in this
book.

All trademarks referred to in the book are acknowledged as


properties of their respective owners but BPB Publications
cannot guarantee the accuracy of this information.
www.bpbonline.com
Dedicated to
Every earnest reader of this book
About the Authors

In a diverse career spanning 12+ years, across six


multinational organizations, Varun P Divadkar holds the
distinction of having contributed to a variety of global
techno-functional engagements with his delivery expertise
in Python programming applications towards cutting edge
domains like Artificial Intelligence, Machine Learning, Deep
Learning and Robotic Process Automation. Being a qualified
Mechanical Engineer with a gold medal from MIT has
endowed him with uniquely acquired logical reasoning
abilities and quantitative aptitude. This has further enabled
him to grasp key mathematical and technical concepts with
a steep learning curve and thereby mentor students and
professionals in their journey towards exploration of these
cutting edge domains.
He began his career with the prestigious Tata group within
the manufacturing domain in the engineering services
sector and was involved in automation of engineering
designs. Thereafter, he had a stint of 5+ years with financial
consulting giants Ernst & Young and Deloitte, where he had
the privilege to work out of the global financial epicenter of
Wall Street, Manhattan, New York and the culturally
significant hub of Los Angeles, California. Within India, he
has worked across major commercial centers like Mumbai,
Bengaluru, Chennai, Hyderabad and Pune, thus adding to
his diverse expanse of professional network. Of recent, he
has been with three banking organizations and currently
leads the Machine Learning and Generative AI initiative at a
large global commercial bank as the Vice President.
About the Reviewer

Jyant, a passionate Data Enthusiast with a Postgraduate


degree in Artificial Intelligence from Great Lakes, embarked
on his IT journey with Accenture, where he honed his skills
in SAP BODS, SQL, PYTHON, and Excel, catering to US-based
retail clients. Later, at Impact Analytics, he delved into a
diverse tech stack, including R, Python, SQL, AWS, GCP,
GUROBI, and more, while refining his interpersonal skills.
During his tenure at Sapient, Jyant led teams in delivering a
spectrum of products, from price optimization to movie
recommendations and Credit Scoring Models, employing a
versatile toolkit encompassing Python, R, Advance SQL,
Superset, Airflow, Git, Azure, Pyspark, and others.
Currently, as a leader at Zscaler, Jyant spearheads the
development of two pivotal models: an attrition model and
an innovative chatbot powered by AWS LEX. His expertise
extends to LLm, Rag, and ReAct Prompt integration,
alongside utilizing SQLAlchemy to enhance the chatbot's
capabilities.
Jyant excels in tackling diverse challenges, is adept at
creating Regression models for promotion optimization,
utilizing Seaborn and Matplotlib for extensive EDA, and
applying CNN and RESNET50 for image attribute tagging. He
is also experienced at employing NLP for data extraction,
developing Movie Recommendation Engines with Lightfm
Neural Network models, and crafting intricate Price
Optimization and Credit Scoring Models using bank and
retail data.
Acknowledgement

I was extremely thrilled when BPB publications reached out


to me with the opportunity to write this wonderful book. I
would want to thank all the reviewers, technical experts,
and editors of BPB publications for their valuable support
and guidance throughout this journey and making it a
worthwhile experience.
I would want to acknowledge the generosity and consistent
effort of the worldwide open source community of data
science for providing a plethora of libraries and chunks of
free reading material online that enables one to levergage
their salient learnings and incorporate valuable inputs.
Last but not least, I would wish to thank all the interested
readers who have instilled in me, the motivation and
inspiration leading to the making of this book.
Preface

The contemporary industry has witnessed an


unprecedented growth of technology characterized by the
advent of big data, Internet of Things (IoT), Artificial
Intelligence, Machine Learning, Deep Learning and Robotic
Process Automation. This has led to an inevitable need for
professionals to upskill themselves in order to keep
themselves relevant with this moving industry trend.
This book has been designed with the sole purpose of
providing a launching pad to students and professionals for
breaking into these domains by leveraging the salient
powers of Python.
As one progresses through this book, one shall embark on
an exciting learning curve to get oneself familiarized with
preliminary domain specific concepts before picking up the
Python editor to write code. The initial chapter would be a
refresher that demonstrates the importance of Python in the
current scenario and the chapters to follow would
concentrate on individual topics. Every chapter would
observe a consistent sequence of an initial overview of
fundamental concepts followed by corresponding Python
exercises.Wherever necessary, detailed guidance has also
been provided for setup and installation of required
software.
Each chapter would end with an industry relevant use case
in Python. These use cases are golden exercises in brushing
up ones potential to add value and have been designed
keeping in mind the demands of today’s industry and the
salient skills and abilities required to fulfil them.
This book is intended for both students and professionals
who want to take their ability in Python programming to the
next level by providing industry relevant value addition. This
book should also be useful as an optimum handbook for
quick reference of basic concepts of specific domains
discussed within the book.
This book shall definitely get one enthused in the arena of
Python automation and channelize ones thought process in
the appropriate direction for continuing to build value added
applications in Python.
Chapter 1: Why Python for Automation? – This chapter
provides an overview of why Python is the chosen favorite
programming language when it comes to building value
added applications in popular domains like Artificial
Intelligence, Machine Learning, Deep Learning. It shall
discuss the inherent advantages associated with Python as
an open source language and then highlight frequently used
Python libraries.
Chapter 2: RPA Foundations – This chapter introduces
the reader to fundamental concepts of Robotic Process
Automation (RPA) and discusses the various components of
RPA. Thereafter, an overview of industry leaders in RPA like
UiPath, Automation Anywhere and Blueprism has been
provided. The chapter shall introduce the user to the Python
‘rpa’ library and end with an interesting practical use case
with it.
Chapter 3: Getting Started with AI/ML in Python – This
chapter gets the reader kickstarted with fundamental
concepts in Artificial Intelligence, Machine Learning and
Deep Learning. Classical machine learning algorithms have
been discussed followed by an introduction to deep
learning, neural networks, types of neural networks and
their applications like Natural Language Processing.
Chapter 4: Automating Web Scraping – This chapter
familiarizes the reader with the process of extracting data
from the web using Python libraries ‘requests’ and ‘beautiful
soup.’ Data being a central component of all applications,
this chapter presents a useful approach to leverage the web
to access data.
Chapter 5: Automating Excel and Spreadsheets – This
chapter revisits the arena of Excel automation by
highlighting the central role that Python plays by speeding
up the process. The libraries ‘openpyxl’, ‘xlwings’ and
xlsxWriter’ shall be discussed individually followed by a
practical use case in Python which shall illustrate the beauty
of collectively utilizing them in combination.
Chapter 6: Automating Emails and Messaging – This
chapter enters the foray of email and social media
messaging by demonstrating the powers of Python libraries
in sending swift messages through Gmail and Whatsapp.
Chapter 7: Working with PDFs and Images – This
chapter expands the capabilities of Python by showcasing
the ability to read data from PDF documents. The chapter
further discusses the concept of Optical Character
Recognition (OCR) and illustrates how ‘pytesseract’ and
‘OpenCV’ enable one to achieve it in practice by reading
data from images.
Chapter 8: Mechanizing Applications, Folders and
Actions – This chapter introduces the ‘os’ and ‘shutil’
modules in Python that enable one to automate the process
of reading, writing and moving files and folders and is
followed by the ‘PyAutoGUI’ and ‘PyWinAuto’ libraries that
are used to automate mouse operations on a computer.
Chapter 9: Intelligent Automation Part 1: Using
Machine Learning – This chapter consolidates into the
idea of machine learning by taking a deep dive into various
machine learning algorithms and demonstrates their smooth
implementation using Python libraries. This chapter covers
both supervised and unsupervised learning methods and
ends with a practical use case in Python that makes the user
conversant with the process of independently building
machine learning Python applications.
Chapter 10: Intelligent Automation Part 2: Using
Deep Learning – This chapter revisits the concept of a
neural network and implements a basic neural network from
scratch in Python. The concept of back propagation has
been illustrated using the perceptron. Thereafter the
libraries ‘TensorFlow’ and ‘PyTorch’ have been discussed
followed by a discussion on Natural Language Processing
(NLP). An interesting practical use case in Python concludes
the chapter.
Chapter 11: Automating Business Process Workflows
– This chapter begins with an introduction to the concept of
orchestration which is basically workflow automation or can
also be thought of as the automation of automations.
Thereafter the ‘luigi’ and ‘prefect’ modules shall be
discussed that enable one to achieve orchestration.
Chapter 12: Hyperautomation – This chapter discusses
the novel concept of hyperautomation which is basically the
application of Machine Learning, RPA and other AI tools in
tandem with regular automation. This chapter shall revisit
the topics of NLP and RPA from a different perspective.
Chapter 13: Python and UiPath – This chapter builds on
the basic concepts of RPA tool UiPath to illustrate the salient
role that Python plays in enhancing its capabilities. This
chapter shall be a detailed walkthrough of the setup and
environment required to achieve UiPath integration with
Python.
Chapter 14: Architecting Automation Projects – This
chapter gives an overview of the various components that
need to be taken care of while architecting an automation
project. The concept of virtual environment and the ‘pip’
command have been discussed in detail in this chapter.
Chapter 15: The PyScript Framework – This chapter
introduces the reader to an ongoing project in Python called
the ‘PyScript’ framework which essentially enhances the
potential of an HTML script by allowing the presence of a
Python code within it. This chapter shall be exciting for
developers who have background in Javascript and shall
provide them with a functionality to experiment with a
different perspective.
Chapter 16: Test Automation in Python – This chapter
concludes the book by discussing a topic that also usually
comes at the end of the development cycle, which is
testing. The chapter elaborates on ‘Selenium’, ‘PyTest’ and
the Robot FrameworK that enables smooth automation of
the testing process.
Code Bundle and Coloured
Images
Please follow the link to download the
Code Bundle and the Coloured Images of the book:

https://rebrand.ly/nh3wzsj
The code bundle for the book is also hosted on GitHub at
https://github.com/bpbpublications/Learn-Autonomous-
Programming-with-Python.
In case there’s an update to the code, it will be updated on
the existing GitHub repository.
We have code bundles from our rich catalogue of books and
videos available at https://github.com/bpbpublications.
Check them out!

Errata
We take immense pride in our work at BPB Publications and
follow best practices to ensure the accuracy of our content
to provide with an indulging reading experience to our
subscribers. Our readers are our mirrors, and we use their
inputs to reflect and improve upon human errors, if any, that
may have occurred during the publishing processes
involved. To let us maintain the quality and help us reach
out to any readers who might be having difficulties due to
any unforeseen errors, please write to us at :
[email protected]
Your support, suggestions and feedbacks are highly
appreciated by the BPB Publications’ Family.
Did you know that BPB offers eBook versions of
every book published, with PDF and ePub files
available? You can upgrade to the eBook version at
www.bpbonline.com and as a print book customer,
you are entitled to a discount on the eBook copy.
Get in touch with us at :
[email protected] for more details.
At www.bpbonline.com, you can also read a
collection of free technical articles, sign up for a
range of free newsletters, and receive exclusive
discounts and offers on BPB books and eBooks.

Piracy
If you come across any illegal copies of our works in
any form on the internet, we would be grateful if you
would provide us with the location address or website
name. Please contact us at
[email protected] with a link to the
material.

If you are interested in


becoming an author
If there is a topic that you have expertise in, and you
are interested in either writing or contributing to a
book, please visit www.bpbonline.com. We have
worked with thousands of developers and tech
professionals, just like you, to help them share their
insights with the global tech community. You can make
a general application, apply for a specific hot topic
that we are recruiting an author for, or submit your
own idea.

Reviews
Please leave a review. Once you have read and used
this book, why not leave a review on the site that you
purchased it from? Potential readers can then see and
use your unbiased opinion to make purchase
decisions. We at BPB can understand what you think
about our products, and our authors can see your
feedback on their book. Thank you!
For more information about BPB, please visit
www.bpbonline.com.

Join our book’s Discord space


Join the book’s Discord Workspace for Latest updates,
Offers, Tech happenings around the world, New Release and
Sessions with the Authors:
https://discord.bpbonline.com
Table of Contents

1. Why Python for Automation?


Introduction
Structure
Objectives
Python as an open-source language
Python’s repository of extensive libraries
Python as a high-level language
Portability aspect of Python
Salient advantages of Python
Conclusion

2. RPA Foundations
Introduction
Structure
Objectives
History of Robotic Process Automation
What is RPA
Components of RPA
Various RPA tools in the market
Comparison between various RPA tools
RPA Python package
Practical use case of RPA with Python
Conclusion

3. Getting Started with AI/ML in Python


Introduction
Structure
Objectives
Background and history of AI
Machine learning concepts
Supervised and unsupervised learning
Popular Python Libraries for ML
Reinforcement learning
Deep learning
Introduction to neural networks
Types of neural networks
Natural language processing
Transformers and large language models
Conclusion

4. Automating Web Scraping


Introduction
Structure
Objectives
What is web scraping
Popular Python libraries for web scraping
The requests module in Python
The Beautiful Soup Library
Inspecting the web page
Extracting information from the Web Page
Legal considerations of web scraping
Practical use case in Python
Conclusion

5. Automating Excel and Spreadsheets


Introduction
Structure
Objectives
Need for automating Excel using Python
Introduction to openpyxl library
Open and modify an existing workbook
Access a cell using Range name
Merging cells
Looping through cells
Working with Excel formulae using openpyxl
Create charts using openpyxl
Styling a chart
Other Python libraries for Excel automation
Comparison summary of Python libraries
Practical use case in Python
Conclusion

6. Automating Emails and Messaging


Introduction
Structure
Objectives
Prerequisites for Gmail automation
Turning on 2-step verification for Gmail
Getting app password
Sending a Gmail message using Python
Automating WhatsApp messaging
Practical use case in Python
Conclusion

7. Working with PDFs and Images


Introduction
Structure
Objectives
PyPDF library
Read a PDF file using PyPDF2
Rotate and merge PDF files
Working with images using the PIL library
Optical character recognition
Working with OpenCV
Practical use case in Python
Conclusion

8. Mechanizing Applications, Folders and Actions


Introduction
Structure
Objectives
The os module in Python
The shutil module in Python
Copy and move a file using shutil
Move files based on extension using shutil
Using the PyAutoGUI Library
Implementing basic mouse functions using PyAutoGUI
Implementing basic keyboard functions using
PyAutoGUI
Exploring message box functions using PyAutoGUI
Practical use case in Python
Conclusion

9. Intelligent Automation Part 1: Using Machine


Learning
Introduction
Structure
Objectives
Implementing supervised machine learning algorithms
using Python
Linear regression
Key concepts in Machine Learning models
Logistic regression
K nearest neighbors
Naïve Bayes
Support vector machines
Decision trees
Implementing unsupervised learning algorithms using
Python
Dimensionality reduction
Principal component analysis
Linear discriminant analysis
K means clustering
Practical use case in Python
Conclusion

10. Intelligent Automation Part 2: Using Deep


Learning
Introduction
Structure
Objectives
Implementing a neural network in Python
Backpropagation
Popular Python libraries for deep learning
Deep learning applications
Natural language processing
Practical use case in Python
Conclusion

11. Automating Business Process Workflows


Introduction
Structure
Objectives
Understanding a business process workflow
Introduction to orchestration
Automation versus orchestration: Differences
Orchestration platforms available in market
Achieving orchestration with Python
Prefect
Luigi
Practical use case in Python
Conclusion

12. Hyperautomation
Introduction
Structure
Objectives
Defining hyperautomation: What it is and why it matters
The hyperautomation cycle: Key steps and processes
Exploring typical use cases for hyperautomation
Enhancing document understanding with optical
character recognition
Implementing conversational agents: The role of
chatbots
Advancing efficiency with robotic process automation
Navigating the challenges of hyperautomation
Practical use case in Python
Conclusion

13. Python and UiPath


Introduction
Structure
Objectives
Setting up the Python environment in UiPath
Exploring Python activities in UiPath
Creating the Python script
Integrating Python with UiPath
Conclusion

14. Architecting Automation Projects


Introduction
Structure
Objectives
Introduction to virtual environment
Setting up a virtual environment
Virtual environment directories at a glance
Additional considerations involving a virtual
environment
Python PIP revisited
Performing basic operations using pip
Working with the requirements.txt file
Using Docker for containerization
Conclusion

15. The PyScript Framework


Introduction
Structure
Objectives
Introduction to PyScript
Creating a basic webpage using PyScipt
Adding working Python code to the webpage
Using third party libraries with PyScript
Referencing external Python files in PyScript
Conclusion

16. Test Automation in Python


Introduction
Structure
Objectives
Introduction to Selenium
Setting up the Selenium Python API
Exploring web automation with Selenium Python API
Pytest library
Advantages and limitations of Pytest
Python Robot Framework
Running test cases in the Python Robot Framework
Conclusion

Index
Chapter 1
Why Python for
Automation?

Introduction
This chapter introduces the reader to the significance of
Python as an open-source language and further delves
deeper to explain why it is the most powerful and
formidable tool for autonomous programming. The chapter
emphasizes Python’s inherent flexibility, adaptability, and
user-friendly nature, attributed to its high-level language
and straightforward syntax. It also throws insights into
Python’s flexibility and adaptability considerations and ease
of use as a high-level language with a simple syntax.
Further into the chapter, Python’s rich assortment of
libraries like ‘Pandas’, ‘NumPy’, ‘Matplotlib’ would be
discussed which are pivotal for machine learning. In
subsequent chapters, we will delve deeper into the practical
implementations of these libraries.

Structure
The chapter covers the following topics:
• Python as an open-source language
• Python’s repository of extensive libraries
• Python as a high-level language
• Portability aspect of Python
• Salient advantages of Python

Objectives
At the end of this chapter, you will clearly understand why
Python has been chosen as the language for autonomous
programming despite the availability of numerous other
alternatives from the myriad pool of programming
languages.

Python as an open-source language


Congratulations on choosing the best place to begin your
journey of learning autonomous programming with Python!
As the book’s name implies, the story’s crux is built on the
Python language. This chapter will tell you precisely why
Python has been chosen as an optimum tool to construct
the monument of autonomous programming.
Let us keep Python aside for a moment to understand the
first advantage it has. Imagine you wish to create a short
application that would automatically produce some Excel
reports out of a few raw chunks of Excel data. You consult
your friend, a professional in writing algorithms in C++, JAVA
and Visual Basic. He advises you to use the API of either of
these languages and go ahead with building your
application. As soon as you agree with your friend, the first
roadblock you stumble upon is the realization that this
exercise cannot be easily performed free of cost and that
you must purchase certain licenses for using the respective
platforms. Now in search of hope elsewhere, you research a
bit about Python and realize that Python does not have any
such cost constraint!
And that is the first gigantic advantage of using Python.
Python is an open-source language which means that the
source code is freely available, distributable, and modifiable
by users making it the most preferred language to develop
and maintain code and share it with communities globally.
This is exactly the reason why Python is the most preferred
tool for building numerous libraries which we shall soon
discuss.

Python’s repository of extensive


libraries
Python provides extensive libraries which are basically
reusable pieces of code that data scientists use to further
build their applications. The most popular libraries are listed
below with some short descriptions:
• NumPy: This is one of the most popular libraries of Py
thon that is used to work with large matrices. It is an a
bbreviation for Numerical Python. This library forms
the core of scientific computing as well as constitutes
a building block for other advanced machine learning l
ibraries like TensorFlow and SciPy.
• Pandas: This library is one of the key offerings of Pyt
hon. The pandas DataFrame is the fundamental unit t
hat enables one to work with data in a tabular format.
It allows one to read data from raw sources as a DataF
rame, perform transformations on it using multiple inb
uilt methods and export the data to various other appl
ications.
• Matplotlib: Data visualization has become the need
of the hour to have quick insights around raw data as
well as transformed data. The library matplotlib does
a great job of enabling one to derive valuable insights
out of data by providing one with the ability to plot va
riety of charts like pie charts, histograms, and scatter
plots.
Other Python libraries that are primarily used in data
science, machine learning and deep learning applications
have been summarized below but shall be discussed in
detail in relevant chapters to follow. However, this is not an
exhaustive list and exercises from actual chapters would
have more libraries to discuss.
• TensorFlow: This is an advanced deep learning librar
y used to perform complex computations in Mathemat
ics and Physics.
• Beautiful Soup: This is a popular Python library for w
eb scraping. Web scraping is the process of automatin
g the data gathering process from the web. Beautiful
Soup helps achieve this by enabling data pulling from
HTML and XML files.
• Scrapy: This is an open-source Python library used fo
r web scraping.
• Json: This is a Python package which provides useful t
ools for working with JSON (JavaScript Object Notatio
n) objects.
• SciPy: SciPy is an abbreviation for Scientific Python. It
is built on NumPy and is used for scientific computing.
• Scikit-learn: This is commonly used for implementin
g machine learning algorithms like regression, classifi
cation, and clustering.
• PyPDF: This is used for reading and transforming PDF
files.
• Openpyxl: Python library used for Excel automation.
Pywhatkit: Python library that is used to send Whats
• App messages.
• OpenCV: Python library used for Computer Vision app
lications.

Python as a high-level language


Returning to JAVA and C++, one needs to be conversant
with the syntax and familiar with memory management
considerations to develop applications in these languages.
Such kinds of languages fall into the category of low level or
middle level languages. However, Python tells a different
story. The syntax is extremely simple, so much that calling it
an extended version of pseudo code would not be an
exaggeration!
This is exactly the reason why Python is the preferred tool
for programmers worldwide to deploy open-source projects
in machine learning and deep learning. Python provides that
flexibility and luxury to the developer to focus only on the
algorithm and not worry about any additional brackets or
semicolons apart from the ones required for some standard
data types.
Despite this ease of syntax, Python retains the authority of
being an Object-Oriented Programming (OOP) language
and exhibits all attributes of object-oriented languages like
abstraction, encapsulation, polymorphism, and inheritance.

Portability aspect of Python


Portability of a programming language is the ability to use
the code of that language on different machines or
platforms without requiring modification. For example, if you
write a Python code on a Windows machine, you do not
have to make any changes to it if you would want to run it
on Linux or Mac. That is the beauty of Python as a portable
language. In certain cases, however, care needs to be taken
to avoid platform-specific dependencies or behaviors.
Nevertheless, Python’s emphasis on portability and its vast
standard library makes it easier to write cross-platform code
compared to many other languages.

Salient advantages of Python


Other significant advantages of Python are the following:
• Dynamically typed language: Python is a dynamic
ally typed language, which means that one need not s
pecify the data type of a variable beforehand. The dat
a type of the variable is decided during run time.
• Large community: Python language has a huge dev
eloper community worldwide which is invested in assi
sting and guiding each other in growing this prospect
and initiative. Hence, it is possible to obtain quick sup
port for anything related to Python due to this large co
mmunity.
• Support for multiple programming paradigms: P
ython is one of the languages that supports multiple p
rogramming paradigms viz., imperative, functional, pr
ocedural, and object-oriented, thus adding to the flexi
bility of the user.
• Scalable: Python’s ability to handle large amounts of
data makes it a scalable programming language.
• Embeddable: It is possible to execute Python code fr
om an application coded in another language, thus m
aking it embeddable.
• Extensible: A new functionality can be added to a Py
thon code by writing a code in another programming l
anguage and linking it with the Python code, thus mak
ing Python an extensible language.

Conclusion
Now that we know why Python is the chosen favorite, what
else are we waiting for! In the next chapter, we will
introduce you to the exciting realm of Robotic Process
Automation (RPA) technology and witness the power of
Python in executing RPA processes independently. Without
further delay, let kick start our journey by moving to the
next chapter on RPA foundations!

Join our book’s Discord space


Join the book’s Discord Workspace for Latest updates,
Offers, Tech happenings around the world, New Release and
Sessions with the Authors:
https://discord.bpbonline.com
Chapter 2
RPA Foundations

Introduction
This chapter intends to build a foundation of Robotic
Process Automation (RPA), which is one of the hallmarks
of the current industry. Today, RPA technology can be
conveniently leveraged by an HR department to
automatically source candidates and screen their resumes,
thus reducing hours of manual effort. This chapter takes the
reader into the historical background and progress of robotic
technology and how it has led the industry to the current
state of RPA. Components of RPA have been covered in a
lucid manner in order to get the reader familiar with the
concepts. Various industry leaders in the RPA market like
Automation Anywhere, UiPath and Blue Prism have been
described in this chapter along with their comparative
advantages and disadvantages over each other. The end of
this chapter tries to highlight the role that Python plays in
enhancing the potential of RPA and discusses a practical use
case of how Python can be conveniently leveraged to
achieve the same RPA which these tools do.

Structure
The chapter covers the following topics:
• History of Robotic Process Automation
• What is RPA
∘ Components of RPA
∘ Various RPA tools in the market
∘ Comparison between various RPA tools
• RPA Python package
• Practical use case of RPA with Python

Objectives
At the end of this chapter, you would have a practical
understanding of Robotic Process Automation (RPA), its
various offerings in the market and how Python can be
efficiently utilized to achieve RPA.

History of Robotic Process


Automation
The contemporary era is called Industry 4.0 which is
basically the assimilation of digital technology and the
Internet of Things (IoT) into manufacturing. Automation
has always been a part of prior industrial revolutions. As far
as the automation of computer processes is concerned, the
advent of the internet, cloud computing and artificial
intelligence has greatly provided an impetus to the rise of
niche solutions to execute the automation of workflows and
business processes. Although early developments in
automation started with screen scraping software, the world
has come a long way to realize market leaders in RPA who
are now able to provide automation as a service. Popular
names under this category, are Blue Prism, Automation
Anywhere and UiPath.
What is RPA
Robotic Process Automation is a technology that enables
the construction of software robots (known as bots) which
automatically perform regular manual operations that a
human performs on a computer. These operations include
opening a website, clicking buttons, navigating web pages
entering credentials and many more. As we see, all these
operations are manual and repetitive, consume loads of
time and have a propensity to be error prone due to human
intervention and fatigue.
RPA exactly solves this problem by enabling automated
execution of the entire repetitive business process workflow.
Also, RPA being a bot does not suffer from human
shortcomings like error and fatigue. Hence, it will save a
tremendous amount of time and effort for an organization.

Components of RPA
We have now understood that RPA is software enabling the
creation of bots for process automation. Like every other
software, RPA has certain components which are generic to
all the RPA products that we have in the market. Let us look
at each of these components:
• Recorder: This is the most important but basic and u
ser-friendly component of an RPA tool. This is similar t
o the Record Macro feature that Microsoft Excel prov
ides. In this feature, the user records the manual proc
ess while it is being performed. What the recorder doe
s is that it captures salient elements that are being na
vigated by the user on the screen like buttons, web pa
ge URLs and dropdowns and treats them as objects. It
also captures the properties of these objects. After the
recording is complete, the user has the flexibility to ed
it these properties and make them generic by passing
them into variables, thus transforming a hardcoded re
cording into a dynamic bot! The figure below is a scre
enshot of the recorder feature in UiPath:

Figure 2.1: A screenshot of the app/web recorder in UiPath

• Development studio: This is the primary componen


t of an RPA tool. A development studio is the actual int
erface or environment that contains various features t
o develop a software bot. These features have been li
sted below:
∘ Dashboard with a Graphical User Interface
(GUI) for navigating features.
∘ Various types of recording functionalities.
∘ Standard templates to choose from with drag and
drop feature.
The Figure 2.2 below shows the interface of the
Development Studio in UiPath:
Figure 2.2: Development studio in UiPath

• Plugins and extensions: Plugins or extensions allow


the expansion of the original capability of the RPA tool
by enabling its integration with an external program o
r third-party software.
• Bot runner: This is the component that enables to ru
n the bot that is created by the Bot Creator.
• Control center: In order to centrally manage, schedu
le and control the bots, a control center is used.

Various RPA tools in the market


There are numerous companies that offer RPA solutions in
the market. However, this section shall discuss only the
three market leaders which are UiPath, Automation
Anywhere and Blue Prism.
• UiPath: This is one of the leaders in RPA tools used fo
r desktop and web automation. A big advantage of thi
s tool is that it provides a community edition for users
who intend to learn the tool. A person with no knowle
dge of coding can also use this tool because it offers d
rag and drop features for the user to create bots. The
primary components of UiPath are UiPath Studio, UiPat
h Robot and UiPath orchestrator. These shall be discus
sed in detail in another chapter related to UiPath.
• Automation anywhere: This is a web-based automa
tion tool which also has a free version called Communi
ty Edition. The three main components of Automation
Anywhere are:
∘ Bot Creator: This is a component in which the
user creates the bot.
∘ Control room: This is the interface that is used
to centrally manage the bots.
∘ Bot runner: This is the component that is used
to run the bots after they have been created in
the Bot Creator. This also reports the bot
execution status to the control room.
• Blue Prism: This is an RPA tool that helps organizatio
ns automate manual and repetitive processes. This is
a platform independent tool and can be used on any p
latform. This does not have a community edition like A
utomation Anywhere or UiPath but has a learning versi
on which is free for 180 days. One disadvantage of thi
s tool is that it does not have a recording functionality
like UiPath and Automation Anywhere. The main comp
onents of Blue Prism are:
∘ Object studio: This is where Blue Prism objects
are created, or bots are built.
∘ Process studio: This is similar to object studio
but here one can define the flow of the process
∘ Control room: This is where the processes are
controlled.
Apart from the three market leaders discussed above, there
are numerous other RPA tools in the market like Pega,
OpenConnect, WorkFusion, Contextor, Cryon, OnviSource,
AutomationEdge and Foxtrot.

Comparison between various RPA


tools
Considering that there are multiple options to choose from
when it comes to RPA tools in the market, it can be a tough
decision to make for an organization while finalizing its
choice of an RPA platform. However, there are certain
important parameters that could be taken into account
while selecting the optimum RPA tool for the organization.
They are recording feature, availability of free version, drag
and drop functionality, architecture and cost considerations.
the comparison between Automation Anywhere, Blue Prism
and UiPath based on these parameters is shown in the Table
2.1 below:

Automatio
Parameter n Blue Prism UiPath
Anywhere
Macro Yes No Yes
recording
Communit Yes No Yes
y edition
Drag and Not for all Yes Yes
drop tasks.
(Requires
scripting)
Automatio
Parameter n Blue Prism UiPath
Anywhere
Architectur Client Client Web based
e server server orchestrat
or
Cost High High Pricing is
acquisition deploymen entry level
cost t cost
Table 2.1: Comparison of RPA tools in market

RPA Python package


Python has provided an open source package named rpa
that allows the developer to perform automation in the
same way that an RPA tool would have performed.
Let us perform a simple task of opening the Google search
web page and typing some characters in the textbox. To
perform this task, open any Python IDE like Spyder.
To use this library, first we need to install it using the
following command:
pip install rpa
Later it needs to be imported as shown below, in order to
use it in Jupyter notebook or any Python IDE:
import rpa as r
Next, type the code below into your Python editor:
r.init(visual_automation=False, chrome_browser=True)
r.url('https://www.google.com/')
r.type('//*[@name="q"]', 'news')
r.click('//*[@name="btnK"]')
r.wait(5) # ensure results are fully loaded
r.snap('page', 'Captured_Image.png')
r.close()
Now, we shall try to understand the meaning of each line:
The first line is:
r.init(visual_automation=False, chrome_browser=True)
Here, the init() method has been called that initializes the
tagUI process. If you are wondering what is tagUI, it is
basically the process that is running behind when we use
the Python rpa package.
Now, we also observe that the function has two arguments
listed below:
visual_automation=False, chrome_browser=True
These are basically the default values of the arguments. So
even if we do not specify these and just call r.init(), the
Python code would run in the same way.
Now, if we change the first argument to
visual_automation=True, then it would enable us to use
keyboard functionalities in the process. If you need detailed
information on this package along with the different
functions and use cases, please visit the GitHub repository
using this link: https://github.com/tebelorg/RPA-Python.
Now, the next argument chrome_browser=True enables
us to specify that the browser which needs to be opened is
Chrome. This argument is always ‘True’ by default. In case
you would need to open the web page in any other browser
then this argument would need to be set to ‘False’.
The second line is:
r.url('https://www.google.com/')
This specifies that the URL which needs to be opened is the
Google Search page.
The next line is:
r.type('//*[@name="q"]', 'news')
The figure below shows a screenshot of the word ‘news’
being typed into the Google search page:

Figure 2.3: The word ‘news’ being typed into Google Search page

This line uses the type() method which enables the code to
type characters into the webpage element. The webpage
element is specified in the first argument which is
'//*[@name="q"]'. This is the XPath of the search textbox
in the Google window. The XPath which stands for XML Path
Language is basically an expression which is used to identify
an element in an XML document, in this case the search
textbox. We shall see how to obtain XPaths in the next
section containing the practical use case. The second
argument is news. This argument specifies the text that
needs to be entered. In this case, the text being entered is
‘news’.
The next line is:
r.click('//*[@name="btnK"]')
This line instructs the code to click the button titled Google
Search which shall produce the search results. The XPath
identifier for this button is //*[@name="btnK"].
After this, the next line is:
r.wait(5)
This line basically adds a wait time of 5 seconds to the
program until the web page is opened. This is necessary
because if the program prematurely executes the next line
without waiting for the process from the initial line to be
completed, then the program will throw an error.
The next line is:
r.snap('page', 'Captured_Image.png')
This line uses the snap() method to take a screenshot of
the page that is currently open in the website window. This
snapshot is then saved as an image file named
Captured_Image.png which is provided as the second
argument of the method. This image file would be saved in
the home directory of the program which is basically the
same folder where the Python file is saved. This screenshot
would basically display the search result obtained after
typing the word news in Google Search box.
The last line r.close() would close the rpa object and the
process thereafter.
In this way, we saw how the Python rpa package offers a
functionality to automate regular manual processes which
would have otherwise also been done using RPA tools like
UiPath, Automation Anywhere and Blue Prism. In this case
we took a simple example of opening a web page, producing
a search result, taking a screenshot, and saving the
screenshot as an image. This Python rpa package is an
excellent tool for those who are familiar with programming
and would want to unleash the potential of RPA through the
medium of writing code.
Let us now take a little complex but real-world use case of
visiting a training registration web page and filling
information of every participant from an Excel file. In this
use case we would build on the experience that we acquired
in the exercise above and leverage the use of Python loops
and Pandas dataframes to execute what we want.

Practical use case of RPA with Python


Let us apply what we learned in the previous exercise to
implement a practical RPA use case with the Python RPA
package.
The only input data required for this exercise would be the
Training.xlsx Excel workbook. Save the workbook on your
machine at any location. Let us save that in
C:\Training.xlsx. The Figure 2.4 below shows the table in
the workbook that is of our interest:

Figure 2.4: Participant data for enrollment in trainings

The website that we would be using is


https://codenboxautomationlab.com/registration-
form/ which contains the sample training enrollment form
as shown in the Figure 2.5 below:
Figure 2.5: Training registration form

Our aim of this exercise shall be to register every participant


from the Excel table for their respective training by filling
details in the webform. If we must perform this process
manually, it would be really time consuming to copy and
paste every single detail from the Excel. We shall use the
Python rpa package coupled with the power of Python loops
and Pandas library to automate this process from start to
end.
Let us import the pandas library and read the input Excel as
a dataframe using the below lines of code:
import pandas as pd
input_df = pd.read_excel(r"C:\Training.xlsx")
We convert the table from the Excel document into a
pandas dataframe and store it in variable input_df:
Next, we would loop through every row of the dataframe
and capture values from the columns First Name, Last
Name, Email, Course, Enrollment Month in respective
variable names first_name, last_name, email, course,
month as shown in the code below:
for i in range(len(input_df)):
first_name = input_df.loc[i, "First Name"]
last_name = input_df.loc[i, "Last Name"]
email = input_df.loc[i, "Email"]
course =input_df.loc[i, "Course"]
month =input_df.loc[i, "Enrollment Month"]
The objective now is to open the webpage for every
instance of the loop, capture column values into variable
names and fill details from the variable names into the
webpage by capturing screen elements using the Python
rpa package.
Let us continue within the loop with the following line of
code:
r.init()
r.url('https://codenboxautomationlab.com/registration-
form/')
Like we saw in the example from the previous section, these
two lines would initialize the tagUI process and open the
webpage URL:
https://codenboxautomationlab.com/registration-
form/.
Next, we would want to enter the information from the
variables into respective fields in the webpage. The first
three fields First Name, Last Name and Email are in the
web page are basically textboxes.
We would need to obtain the XPath of each of the text fields
in order to pass their reference in the code. The way to do
that is to right click on the text box and select Inspect. The
HTML code for the textbox would be highlighted as shown in
the Figure 2.6 below:

Figure 2.6: HTML code for field ‘First Name’

We find that the name property has value fname which can
be used as an identifier in the type() method. The code
below would execute that for us. We enter the value from
variable first_name into the field First Name:
r.type('//*[@name="fname"]', first_name)
In a similar manner, we could enter the values from
variables last_name and email into fields Last Name and
Email respectively by capturing their identifiers using the
name property. The two lines of code below would execute
that for us.
r.type('//*[@name="lname"]', last_name)
r.type('//*[@name="email"]', email)
Random documents with unrelated
content Scribd suggests to you:
CHAPTER XVI.
Metal Spraying.
Although the spraying of metal does not really come within the
scope of this book, the process is so closely allied to paint spraying
that it is considered advisable to devote a chapter to the subject,
particularly as the perfected process is of very recent date, and bids
fair to be used successfully in many industries. It should be stated at
once that a metallic coating may be applied to practically any
surface, and that almost any metal or alloy may be employed.
Stated briefly, the process consists in melting metal in the form of a
rod or wire, by means of oxygen and coal gas, or other gas,
depending upon the metal used. The molten metal is sprayed at a
high pressure, and a surface may be quickly covered with the metal
of any desired thickness. A remarkable fact concerning the process is
that the metal is cooled to an extent that renders it possible to hold
the hand in the jet so as to receive a coat of metal without
inconvenience, and samples of wood and fabrics may be coated with
metal without injury.
A moment of consideration will render it clear that there is an
immense field for this process; for example, as aluminium can be
sprayed, a lining of that metal might be given to brewers' and
cooking utensils, etc., while tanks, barrels, reservoirs, intended to
contain acids and oils, can also be treated. In the production of
blocks for printing, in decorative work and mural decoration, there is
an immense field, while ships' bottoms, instead of being painted
with composition, can be copper-plated or sprayed with any other
suitable metal, in order to prevent incrustation. No doubt some very
beautiful effects can be produced by means of the process.
It will be convenient now to describe the machine used for the
application of the metals. It consists of a pistol rather bulkier, but not
unlike in form, the usual spraying apparatus, see Fig. 142.

Fig. 142.—The Metal Spraying Machine or "Pistol."

Fig. 143.—The Metal Sprayer.


In Fig. 143 is shown very clearly the construction of the sprayer,
which it will be understood comprises a combined melting and
spraying jet and a feed mechanism. The metal, in the form of rod or
wire, is fed to the melting flame. This, as already stated, is formed
by coal gas burned in the air, or oxygen, water gas, acetylene,
hydrogen, etc., may be employed instead of the coal gas. The gases
are supplied at such a pressure as to prevent blowing out and to
ensure a highly deoxidizing flame. The spraying jet can be of carbon
dioxide, nitrogen, air, steam, etc., and it must be fed at such a
pressure as to produce a sufficiently high velocity for successful
coating. The usual gauges and reducing valves will, of course, be
employed. The feeding of the wire is accomplished by a small
pneumatic motor, driven by the spraying medium, either in series or
parallel with the main jet. The dimensions of the wire nozzle, and
feed mechanism vary with the different metals. To obtain a good
adhesion between the metals being sprayed and the surface to
which it is to be applied, the latter must be thoroughly clean and of
an open nature, to give a key for the deposit. Sandblasting is
sometimes employed to effect this.
Fig. 145 shows an enlargement of the nozzle with the different parts
marked. The cost of the process is not prohibitive; the cost of the
metal only on one square foot of a thickness of 0·001 inch is quite
small with the cheaper metals. The process is put on the market by
the British Metal Spray Co., Ltd., Queen Anne's Chambers, Tothill
Street, Westminster, London, S.W.
In a paper read by Mr. R. K. Morcom before the Institute of Metals,
the following interesting information was given:—
Fig. 144.—Sectional Drawing of the Metal Spraying Machine or
"Pistol."
With a given design of jet there is only a certain volume left by the
air-jet which can be filled with flame, and this flame has a limiting
temperature which cannot be exceeded. The wire, passing through
this cone of flame receives heat, partly by radiation, but chiefly by
conduction, and becomes melted; but there is a definite limit to the
amount of heat which can be picked up by the wire passing through
the flame, and a definite limit to the rate at which it can be melted.
This cannot be increased by forcing more gas into the flame, as the
extra gas is merely blown away by the air-jet. It is possible to
increase the rate of melting by shaping the nozzles so as to leave
room for a larger cone of flame, and experiments are in progress on
this point. There is, therefore, a most definite economical quantity of
gas which should be used in the pistol, this quantity being about 1·5
cubic foot of hydrogen per minute, and 0·5 cubic foot of oxygen; or
about 0·8 cubic foot of coal-gas to 0·65 cubic foot of oxygen for the
present standard designs.
In refractory metals these quantities may be increased slightly, as a
slightly higher temperature can be obtained if the burning gases are
under a pressure greater than atmospheric, and this occurs if the
gas quantities are increased, the inner surface of the air-jet acting to
some extent as an enclosing wall to the flame. On the other hand,
for the more easily fusible and oxidizable metals, such as tin, lead,
and zinc, it is advisable to keep the gas quantities rather below the
figure given, so as to avoid any possibility of overheating and
burning any portion of the wire.
The outer jet performs a threefold purpose: it keeps the nozzles and
wire cool, it cools the object, and it produces the requisite velocity.

Fig. 145.—Diagrammatic Representation of Melting and Spraying


Jets in Action.
The velocity of the air leaving the jet will be independent of the
volume discharged, and depends only upon the pressure at the jet,
so long as there is no disturbance due to the entraining of air from
the surrounding atmosphere. This, of course, will actually occur in
practice, and the layer of air must have a certain thickness in order
to prevent its being broken up, and its velocity destroyed by mixing
with the surrounding atmosphere.
As at present constructed the standard pistol uses about 0·55 to 0·6
cubic foot per minute for every 1 lb. per square inch air pressure, so
that with an air supply at 80 lb. per square inch, which is a very
suitable figure for ordinary spraying, the air consumption will be
from 45 to 50 cubic feet per minute.
The bulk of this will be from 830 to 920 grammes, and the mass of
metal sprayed by this air will be from about 8 grammes in the case
of iron to about 200 grammes in the case of lead.
The action of deposition is probably a complex one. The minute
particles of solid metal are driven with such force against the object
that, in some cases, they fuse, but owing to their small relative size,
are promptly chilled by the object to which they adhere. If any of
the particles are molten or gaseous they will adhere. In addition, the
suddenly chilled particles are possibly, or even probably, in the state
of unstable equilibrium found in "Prince Rupert's Drops," and act like
so many minute bombs, bursting on impact into almost molecular
dimensions, and penetrating the smallest cracks and fissures of the
object.
The process requires some care in manipulation, as, by varying the
conditions, it is possible to spray porous or non-porous coatings,
and, with some metals, anything from a pure metal to a pure oxide.
With care, however, non-porous, oxide-free, adherent coatings can
be produced, of almost any metal on almost any solid.
In addition to metals, it is possible to spray fusible non-metals, or, by
stranded wires, alloys of metals or mixture of metals with non-
metals.
The process is so new that its uses are still partly to be developed.
But it is easy to see that it may have far-reaching value for
protective coatings against weather or fire, for ornament, for
electrical resistance and conductors, for the production of special
alloys, for joint making, and for many other purposes.
Quite in a different category comes that of very fine casting. The
surface of a pattern, polished or slightly greasy, is most minutely
copied, and it is possible to produce process blocks very rapidly. It
may be useful to line moulds before pouring in a metal. The
application of the process to the production of very fine or coarse
metallic powders is being investigated.
The bulk of the work has hitherto been carried on in laboratories,
but the apparatus is gradually becoming used in the more
progressive factories, where extended facilities, and the knowledge
of specialised requirements, will ensure a rapid improvement in
technique and results.

Fig. 146.—An Example of Sprayed Decorative Work. (Aerograph.)


Fig. 147.—Shaded Work by the Aerograph.
The research on the lower melting point metals has been greater
than on the others, and undoubtedly the economy with them both
can be greatly improved. Preheating of gases and air, supplementary
flames acting in front of the main jet, and electrical methods of
heating, are all still the subject of experiment.
The following metals are among those which have been successfully
sprayed by this process:—Aluminium, brass, bronze, copper, cupro-
nickel, iron, gold, nickel, silver, tin, zinc, lead.
It will be obvious that this method is a most useful one to employ
when it is desired to prevent iron from rusting on machine parts
which cannot possibly be treated by chemical or other anti-rust
processes, and be rendered immune from rusting by treatment
where they stand. To give some idea of the cost, it may be said that
if the thickness of 0.001 of one inch of zinc is deposited, the cost of
metal for coating 10 square feet would only be a fraction over 4d.;
while for lead the cost would be about 2d. The amount of gas used
is not a large item, being at the rate per minute of 0.50 cubic foot of
oxygen and 0.55 cubic foot of coal gas when spraying zinc, and
0.101 cubic foot less in each case where lead is being used in the
pistol. These figures are given on the authority of the "Daily
Telegraph."

Fig. 148.—Show Card.


Fig. 149.—A Sprayed Frieze (Aerograph).
INDEX
Accessories 121-133
Advantages of Dipping 22
Advantages of Dipping Piano Cases 46
Aerograph 81
Aerograph Air Pump and Tank Combined 118
Aerograph Electric Motor Outfit 83
Aerograph Spraying Cabinet 127
Aerograph Turntable 134
Aeron 85-87
Agitating Apparatus 9-15
Agricultural Implements, Dipping 58
Air Drying Enamels 180
Air-drying coloured Japans 157
Air Heater 137
Air Pump and Tank Combined 118
Air Pump for Large Installation 119
Air Transformer Set 93
Airostyle 97
Airostyle Air Compressor 115
Airostyle Central Draught Fan 125
Airostyle Plant 121
Airostyle Plants for 16 Operators on Small Work 155
Airostyle Plant Showing Ventilator 199
Alabastine 29
Apparatus for Dipping Piano Cases 42
Application of Stoving Enamels 179
Artistic Application of Paint Spraying 201
Artists' Type of Invincible Sprayer 107
Asbestine 73
Auto Electric Air Heater 137, 139
Auto Filter 93
Automatic Control of Drying Room 68
Automatic Electric Controller 111
Automatic Finishing of Pianos 42
Automobiles, Latest Method of Finishing 216

Baird Machine Co. 249


Baking Enamel 63
Baking Heats, Safe for Pigment Colours 187
Baking or Stoving, Hints on 180
Barytes, Precipitated 70
Baskets, Fancy 147
Bean Spray Pump Co. 247
Bearings, Paint Proof 13
Bedsteads 33
Bedsteads, Dipping 58
Bedsteads, White Work 184
Berkel and Parnall's Slicing Machine Co., Ltd. 167
Bin for Spraying Light Articles 148
Birmingham Small Arms Co. 147-164
Black Japan Finishes 183
Blinds for Paint Dipping Tank 10
Block and Tackle 93
Blooming of Varnish 68
Blues 205
Bone Black 70
Bookbinding 146
Brown, E. C. & Co. 246
Brown Sprayer with Extension Rod, The 246
Browns 207
Bronzing 194
Brush Graining 208
Brushing versus Spraying 193
Burnt Sienna 70

Cabinets 127
Cadby, G. & Sons 164
Cans, Painting by Dipping 7
Carriage Department, Woolwich Arsenal 54
Carriages 146
Carriers for Dipping Piano Cases 42
Casements 7, 37
Casements Dipping 60, 61, 65
Casements, Steel 60
Celluloid Buttons 3
Celluloid Varnish, Recipe for 150
Central Draught Fan 125
Chicago White Lead and Oil Co. 188
China Clay 73
China Fruit Dish Decorated with the Airostyle 217
Cleaning Metal Parts 41
Coach Body Painting 55
Coal Box, Metal Decoration done by Airostyle 241
Coats of Paint, number 21
Collapsible Gates 33
Colour Glazing 202
Colour on Bedsteads 33
Colour Specimens, Spraying 153
Colour Varnishes, Transparent 184
Coloured Enamels 59
Compressed Air, Painting by 78
Compressed Air, Supply of 113
Compressor for Airostyle Plant 165
Concentric Form of Spray 79
Construction of Airostyle 98
Cost of Paint Dipping Plant 2
Cover for Tank 11
Crabs 18
Crane Eureka 103
Crane Record 104
Crittall Manufacturing Co. 60
Cycle Frames 197
Cycle Parts 146

Davis Gas Stove Co., Ltd. 161, 165


Decorative Work, an Example of Sprayed 261
Deed Boxes 38
Demar Varnish 75
Designs for Lamp Shades Done by Spraying 203
De Vilbiss Air Compressor 115
De Vilbiss Auto Cool Fan 125
De Vilbiss Fumexer or Spraying Cabinet 131
De Vilbiss Manufacturing Co. 85
Diogrammatic Representation of Melting and Spraying
Jets in Action 259
Different Trades in Spraying, Requirements of 33, 141
Dipping and Spraying Compared 197
Dipping and Spraying Paints Compared 188
Dipping Casements 61, 65
Dipping Paints 7, 70, 72
Dipping Process, Advantages of 22
Dipping, Quantity of Paint Required for 77
Dipping Sewing Machine Parts 34
Dipping Tanks 57
Dipping Troughs 238
Dripping Platform 9
Driving Gear for Tank 14
Drying Room, Model 67
Durability of Dipping Paints 1
Dust, Excluding 64

Electric Controller 111


Electric Hoist for Heavy Goods 27
Electric Motor Outfit 83
Electrical Work 147
Elevation of Spraying Plant 199
Enamel, Stoving 63
Enamelling, Slate 152
Enamels 179
Enamels, Air Drying 180
Enamels for Steel Furniture 183
Enamels, Heat Resisting and Slow Drying 180
Enamels, Stoving 178
Eureka Spraying Machine 103
Evaporation of Turpentine 77
Evolution of Spraying Apparatus 78
Exhaust 113
Exhaust Installation 122

Fan, Central Draught 104, 124


Fancy Baskets 147
Files 38
Filler for Iron 26
Filler, Harland's 29
Finishing of Pianos 42, 43
Finishing Room 53
Flash Point of Turpentine 76
Fletcher, Russell & Co., Ltd. 167
Floco Process 223
Flowing-on System 25, 216
Ford Motor Co., Ltd. 54, 59, 216
Four Oaks Spraying Machine Co. 247
Freight Car, Painting 250
Frieze, a Sprayed 267
Furniture, Metal 38
Fumexer 86, 129, 135

Gas Fires 197


Gas Meter Co., Ltd. 172
Gas Meters, Masks for 142
Gas Meters, Spraying 148, 171
Gas Light and Coke Co. 171, 181, 185, 191
Gas Stoves and Ranges 149
Gasometer, Painting 83
Gates, Collapsible 33
Gear Box, Paint Proof 13
Gibbons, James 58
Gittings, Hills and Boothby, Ltd. 168
Glazing Colours 202, 205
Gloss Paint 71
Goodyear Stove, a Typical 237
Golden Ochre 70
Graining and Scumbling 208
Graining Grounds 212
Grays 207
Greens 207

Hanger, Iron 34, 38


Hanging Apparatus 16
Hard Wood, Primers for 74
Hard Wood, White Dip for 75
Harland, Wm. & Sons 29
Harrison, McGregor & Co. 58
Hart Patent Mask 143
Hayward Bros. & Eckstein, Ltd. 60
Heat of Drying Room 69
Heat Resisting and Slow Drying Enamels 180
Heavy Goods, Hoist for 27
Henley's Telegraph Works, Ltd. 147
Hickory Wheels 54
Hints on Stoving or Baking 180
Hoist for Heavy Goods 27
Hoists 18
Holden, Arthur & Co, Ltd. 167
Holes in Woodwork, Stopping 29
Hook for Suspending 17, 64
Hot Air Method 235

Illingworth on White Spirit 76


Imitating Marbles 210
Imitation Wood Effects 183
Immersing Mangle Frames 35
Immersion, Painting by 7, 11
Implement Manufacturers 14
Indian Red 70
Introduction 1
Invincible Sprayer 105
Iron, Filler for 26
Iron Hanger 38
Iron Rods 34
Iron Sashes 7
Iron Window Frames 37
Italian Raw Sienna 70

Joist and Wheels Supplying Hanger 16

Kerosene Oil 75
Kettle Type of Spray 78
Khaki Paint 57
Kingsbury Manufacturing Co, Ltd. 168
Lacquers for Spraying 80
Lacquers, Paints, etc, for Spraying 177
Lamp Shades, Designs done by Spraying 203
Lime and Whitewash Sprayers 241
Limewashing by Machine with 8ft. Bamboo Pole 245
Limewhite Sprayer, Merryweathers 247
Location of Work Cabinets 127
Lockers 38
Lowering Piano Cases into the Varnish Tank 47
Lucas, John & Co. 188
Lucas, Joseph, Ltd. 160, 169, 173, 175, 181

Machine for Metal Spraying 256


Making Stencils 144
Mander Brothers 154
Mangle Frames Immersing 35
Marble Grounds 210
Marshall Sons & Co, Ltd. 59
Mask Hart Patent 143
Masks and Stencils 141
Masks for Gas Meters 142
Masury, John W. & Son 189
McLennan System 9
Melting and Spraying Jets in Action 259
Merryweather Limewhite Sprayer 247
Metal Decoration 241
Metal Furniture 38
Metal Goods 38
Metal Motor Parts 41
Metal, Primers for 74
Metal Sheets, Dipping 58
Metal Sprayer, Details of 257
Metal Spraying 255
Metal Spraying Machine 256
Metal, White Dipping for 75
Midland Sprayer 108
Model Drying Room 67
Moller and Schumann Co. 180
Morris, Herbert, Limited 21
Morris Standard Electric Trolley Hoist 23
Motor Bodies, The Floco System of Painting 224
Motor Car Shops 231
Motor Outfit for Spraying 83
Motor Parts, Metal 41
Motor Wheels 54

Objections sometimes urged against Spraying 194


Ochre 70
Office Partitions 60
Oil and Water Separator 111
Oil in Dipping Paints 72
Oxford Ochre 70
Oven Baking Methods 232
Overhead Rails 57

Paasche Air Brush 109


Paasche Automatic Electric Controller 111
Paasche Motor Driven Fan 124
Paasche Turn-Table 135
Paint Dipping 7
Paint Dipping Plant, Cost of 2
Paint Dipping, Simple Form of 7
Paint Dipping Tank 10
Paint for Casements 37
Paint for Metal Work 41
Paint for Wagons 57
Paint, Number of Coats 21
Paint Proof Bearings 13
Paint Sprayer, Portable 250
Paint Spraying Apparatus Used by the Pennsylvania Railroad
252
Paint Spraying, Artistic Application of 201
Paint, Supply of 113, 122
Paint Tank 8
Painting a Freight Car 250
Painting by Compressed Air 78
Painting by Immersion 7, 11
Painting Gasometer 83
Painting Motor Bodies the Floco System of 224
Painting Motor Wheels 54
Paints Durability of 1
Paint for Dipping 70
Paints, Spreading Capacity of 77
Part End Elevation of Plant for 12 Operators 159
Pennsylvania Railroad Company 250
Perkins System of Heating 235
Phillips & Son 58
Philorite 30
Piano Cases, Lowering into the Varnish Tank 47
Pianos, Finishing of 39
Pickling Metal Parts 41
Picture Frames 149
Picture Mouldings 149
Piece Work 145
Pigment Colours, Safe Baking Heats for 187
Pinchin Johnson's Drying Room 68
Plants, Some Typical 54, 158
Platform, Dipping 9
Portable Paint Sprayer for Railing and other Work 250
Precipitated Barytes 70
Preparing Wood Before Painting 25
Pressure in Spraying 80
Primers and Surfacers 235
Primers for Metal 71
Primers for Soft Wood 74
Protecting Parts not to be Painted 24
Prussian Blue 70
Purifying Air 114

Quantity of Paint Required for Dipping 77

Raido process 232


Rails and Hanging Apparatus 16
Rails for Overhead 57
Railway Work, Portable Paint Sprayer for 250
Raw Sienna 70
Recipe for Celluloid Varnish 150
Record Pistol 97, 99
Reds 205
Reducing Varnish 87
Requirements of Special Trades 33, 141, 145
Rims and Wheels 41
Rods, Iron 34
Rubbing Down 30

Safe Baking Heats of Pigment Colours 187


Scrubbing Air 114
Scumbling and Colour Glazing 202
Scumbling and Graining 208
Second Coat Dipping Paints 74
Sectional Drawing of Metal Spraying Machine 258
Sewing Machine Parts, Dipping 34
Shaded Effects produced by Spraying 213
Shaded Work by the Aerograph 263
Shafting for Tank 14
Sheets Metal Dipping 38, 58
Shellac Spraying 87
Ships' Hulls Spraying 151
Spraying Plant, Elevation of 199
Spraying, Quantity of Paint Required 77
Spraying Requirement of Different Trades 121
Spraying Ships' Hulls 151
Spraying versus Brushing 193
Staircases 7
Standard Hydraulic Immersion System 42
Standard Varnish Co 42
Steel Casements 60
Steel Furniture Enamels 183
Steel Implements 197
Steel Office Partitions 60
Steel Plate Fan 125
Steel Sheets 1, 12
Steel Wheels 41
Steel Wool for Rubbing Down 30
Stencils and Masks 141
Stencils, Making 144
Stirrers and Blinds for Paint Dipping Tank 10
Stopping Holes in Woodwork 29
Stove, a Typical Goodyear 237
Stoving Blacks 179
Show Card Done by Spraying 69, 209, 225, 239
Shop Fronts 60
Side Elevation of Plant for 12 Operators 158
Skylights 60
Slate Enamelling 152
Sliding Doors 60
Soft Wood, White Dip for 75
Soft Woods, Primers for 74
Spray, Concentric Form of 79
Sprayed Decorative Work, An Example 261
Spraying and Dipping Compared 197
Spraying and Dipping Paints Compared 188
Spraying Apparatus for Painting Freight Cars 252
Spraying Apparatus, Types of 81
Spraying Cabinets 127
Spreading Capacity of Paints 77
Spraying Colour Specimens 153
Spraying Metal 255
Spraying, Objections Sometimes Urged Against 194
Spraying Plant, Cost of 2
Stoving Enamel 63, 178
Stoving or Baking, Hints on 180
Stoving Temperatures 187
Stoves, Notes on the Construction of 235
Sub Frame for Tank 14
Supply of Compressed Air 113
Supply of Paint 122
Suspending Hook 64

Table Cover Decorated with the Airostyle 219


Tank and Air Pump Combined 118
Tanks for Dipping 57
Tank for Dipping Metal Windows 63
Tank for Painting Steel Sheets 12
Tank Paint 8
Tank, Special Form of 9
Tank Used in Flowing on Paint 222
Tapered Cans 7
Temperatures for Stoving 187
Test for White Spirit 76
Three Tank Plant 15
Thornley and Knight, Ltd. 157
Time Saving 1
Toys 1
Trade, Requirements of Different 33
Tramcars 154
Transparent Colour Varnishes 184
Trolley Hoist 19
Troughs 41
Tumbling Barrel Process 248, 249
Turkey Umber 70
Turn-Tables 129, 130, 134
Turpentine, Flash Point of 76
Type G Aeron 68
Types of Spraying Apparatus 81
Typical Hoist 19
Typical Plants, Some 54, 158

Ultra Airostyle 101


Umber 70

Varnish, Quantity Required for Piano Cases 46


Varnishes for Spraying 80, 177
Varnishes, Transparent Colour 184
Venetian Red 70
Ventilation of Paint Shop 67
Ventilator for Plant 123
Volume of Air in Spraying 80

Wagons, Painting 54
Wagons, Store Room 61
Wells, A. C. & Co. 244
Wheels, Rims of 41
White Dipping for Meta 75
White Paint for Dipping 71
White Paste Primer 75
"White Paints and Painting Materials" 72
White Spirit 76
White Work Bedsteads, etc. 33, 184
Whitewash Sprayers 241
Whitewashing Machines 78
Whiting 73
Wilkinson, Heywood and Clark 11
Willys-Overland Automobile Factory 228
Winch 18
Window Frames, Iron 37
Wood Effects, Imitation 183
Woodwork Preparing before Painting 25
Woodwork, Stopping Holes in 29
Woolwich Arsenal, Carriage Department 54
Woolwich Arsenal Store Room 61
Work Cabinets 127

Yellows 206

Zinc Oxide 73
Zinc Stencils 145

ADVERTISEMENTS.
STANDARD
VARNISH WORKS.

Consulting Specialists respecting,


and
Manufacturers of every class of
Varnish for all Industrial purposes
INSULATING VARNISHES,
CARRIAGE, AUTOMOBILE,
MARINE & DECORATORS'
VARNISHES, etc.
Patentees of the new STANDARD
HYDRAULIC IMMERSION
SYSTEM described on pages 42-53
of this publication.
Correspondence invited from
responsible houses:

NEW YORK ELM PARK, STATEN


ISLAND.
CHICAGO 2,600 FEDERAL STREET.
TORONTO INTERNATIONAL
VARNISH Co., Ltd.
BRUSSELS 26, RUE GAUCHERET.
PARIS 34, RUE DE CHABROL.
MELBOURNE 479, COLLINS STREET.
LONDON 27, BEVIS MARKS, E.C.
THE
AIROSTYLE
THE ONE
COMPLETE & EFFICIENT
SYSTEM
OF
COMPRESSED AIR
PAINTING, JAPANNING,
VARNISHING, Etc.
Manufactured throughout by
The AIROSTYLE & LITHOS, Ltd.,
35, St. Bride Street, Ludgate Circus,
TELE PHONE: 12025 CENTRAL.
GRAMS: STAINLESS, LONDON.
London, E.C.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookbell.com

You might also like