Видавець: Packt Publishing
Founded in 2004 in Birmingham, UK, Packt's mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals. Working towards that vision, we have published over 6,500 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done - whether that's specific learning on an emerging technology or optimizing key skills in more established tools. As part of our mission, we have also awarded over $1,000,000 through our Open Source Project Royalty scheme, helping numerous projects become household names along the way.
601
Eлектронна книга

Learning Julia. Build high-performance applications for scientific computing

Anshul Joshi, Rahul Lakhanpal

Julia is a highly appropriate language for scientific computing, but it comes with all the required capabilities of a general-purpose language. It allows us to achieve C/Fortran-like performance while maintaining the concise syntax of a scripting language such as Python. It is perfect for building high-performance and concurrent applications. From the basics of its syntax to learning built-in object types, this book covers it all.This book shows you how to write effective functions, reduce code redundancies, and improve code reuse. It will be helpful for new programmers who are starting out with Julia to explore its wide and ever-growing package ecosystem and also for experienced developers/statisticians/data scientists who want to add Julia to their skill-set.The book presents the fundamentals of programming in Julia and in-depth informative examples, using a step-by-step approach. You will be taken through concepts and examples such as doing simple mathematical operations, creating loops, metaprogramming, functions, collections, multiple dispatch, and so on.By the end of the book, you will be able to apply your skills in Julia to create and explore applications of any domain.

602
Eлектронна книга

Hands-On Chatbots and Conversational UI Development. Build chatbots and voice user interfaces with Chatfuel, Dialogflow, Microsoft Bot Framework, Twilio, and Alexa Skills

Conversation as an interface is the best way for machines to interact with us using the universally accepted human tool that is language. Chatbots and voice user interfaces are two flavors of conversational UIs. Chatbots are real-time, data-driven answer engines that talk in natural language and are context-aware. Voice user interfaces are driven by voice and can understand and respond to users using speech. This book covers both types of conversational UIs by leveraging APIs from multiple platforms. We'll take a project-based approach to understand how these UIs are built and the best use cases for deploying them. We'll start by building a simple messaging bot from the Facebook Messenger API to understand the basics of bot building. Then we move on to creating a Task model that can perform complex tasks such as ordering and planning events with the newly-acquired-by-Google Dialogflow and Microsoft Bot framework. We then turn to voice-enabled UIs that are capable of interacting with users using speech with Amazon Alexa and Google Home. By the end of the book, you will have created your own line of chatbots and voice UIs for multiple leading platforms.

603
Eлектронна книга

Docker Quick Start Guide. Learn Docker like a boss, and finally own your applications

Earl Waud

Docker is an open source software platform that helps you with creating, deploying, and running your applications using containers. This book is your ideal introduction to Docker and containerization.You will learn how to set up a Docker development environment on a Linux, Mac, or Windows workstation, and learn your way around all the commands to run and manage your Docker images and containers.You will explore the Dockerfile and learn how to build your own enterprise-grade Docker images. Then you will learn about Docker networks, Docker swarm, and Docker volumes, and how to use these features with Docker stacks in order to define, deploy, and maintain highly-scalable, fault-tolerant multi-container applications.Finally, you will learn how to leverage Docker with Jenkins to automate the building of Docker images and the deployment of Docker containers. By the end of this book, you will be well prepared when it comes to using Docker for your next project.

604
Eлектронна книга

Implementing Cisco UCS Solutions. Deploy, manage, and automate your datacenter - Second Edition

Anuj Modi, Prasenjit Sarkar

Cisco Unified Computer System (UCS) is a powerful solution for modern data centers and is responsible for increasing efficiency and reducing costs. This hands-on guide will take you through deployment in Cisco UCS. Using real-world examples of configuring and deploying Cisco UCS components, we’ll prepare you for the practical deployments of Cisco UCS data center solutions. If you want to develop and enhance your hands-on skills with Cisco UCS solutions, this book is certainly for you.We start by showing you the Cisco UCS equipment options then introduce Cisco UCS Emulator so you can learn and practice deploying Cisco UCS components. We’ll also introduce you to all the areas of UCS solutions through practical configuration examples.Moving on, you’ll explore the Cisco UCS Manager, which is the centralized management interface for Cisco UCS. Once you get to know UCS Manager, you’ll dive deeper into configuring LAN, SAN, identity pools, resource pools, and service profiles for the servers. You’ll also get hands-on with administration topics including backup, restore, user’s roles, and high availability cluster configuration. Finally, you will learn about virtualized networking, third-party integration tools, and testing failure scenarios.By the end of this book, you’ll know everything you need to know to rapidly grow Cisco UCS deployments in the real world.

605
Eлектронна книга

R Data Mining. Implement data mining techniques through practical use cases and real-world datasets

Andrea Cirillo

R is widely used to leverage data mining techniques across many different industries, including finance, medicine, scientific research, and more. This book will empower you to produce and present impressive analyses from data, by selecting and implementing the appropriate data mining techniques in R.It will let you gain these powerful skills while immersing in a one of a kind data mining crime case, where you will be requested to help resolving a real fraud case affecting a commercial company, by the mean of both basic and advanced data mining techniques. While moving along the plot of the story you will effectively learn and practice on real data the various R packages commonly employed for this kind of tasks. You will also get the chance of apply some of the most popular and effective data mining models and algos, from the basic multiple linear regression to the most advanced Support Vector Machines. Unlike other data mining learning instruments, this book will effectively expose you the theory behind these models, their relevant assumptions and when they can be applied to the data you are facing. By the end of the book you will hold a new and powerful toolbox of instruments, exactly knowing when and how to employ each of them to solve your data mining problems and get the most out of your data.Finally, to let you maximize the exposure to the concepts described and the learning process, the book comes packed with a reproducible bundle of commented R scripts and a practical set of data mining models cheat sheets.

606
Eлектронна книга

Hands-On Intelligent Agents with OpenAI Gym. Your guide to developing AI agents using deep reinforcement learning

Palanisamy P

Many real-world problems can be broken down into tasks that require a series of decisions to be made or actions to be taken. The ability to solve such tasks without a machine being programmed requires a machine to be artificially intelligent and capable of learning to adapt. This book is an easy-to-follow guide to implementing learning algorithms for machine software agents in order to solve discrete or continuous sequential decision making and control tasks.Hands-On Intelligent Agents with OpenAI Gym takes you through the process of building intelligent agent algorithms using deep reinforcement learning starting from the implementation of the building blocks for configuring, training, logging, visualizing, testing, and monitoring the agent. You will walk through the process of building intelligent agents from scratch to perform a variety of tasks. In the closing chapters, the book provides an overview of the latest learning environments and learning algorithms, along with pointers to more resources that will help you take your deep reinforcement learning skills to the next level.

607
Eлектронна книга

Frank Kane's Taming Big Data with Apache Spark and Python. Real-world examples to help you analyze large datasets with Apache Spark

Frank Kane

Frank Kane’s Taming Big Data with Apache Spark and Python is your companion to learning Apache Spark in a hands-on manner. Frank will start you off by teaching you how to set up Spark on a single system or on a cluster, and you’ll soon move on to analyzing large data sets using Spark RDD, and developing and running effective Spark jobs quickly using Python.Apache Spark has emerged as the next big thing in the Big Data domain – quickly rising from an ascending technology to an established superstar in just a matter of years. Spark allows you to quickly extract actionable insights from large amounts of data, on a real-time basis, making it an essential tool in many modern businesses. Frank has packed this book with over 15 interactive, fun-filled examples relevant to the real world, and he will empower you to understand the Spark ecosystem and implement production-grade real-time Spark projects with ease.

608
Eлектронна книга

Hands-On Design Patterns with C++. Solve common C++ problems with modern design patterns and build robust applications

Fedor G. Pikus

C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation.The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen.By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code.

609
Eлектронна книга

Unity 2018 Shaders and Effects Cookbook. Transform your game into a visually stunning masterpiece with over 70 recipes - Third Edition

John P. Doran, Alan Zucconi

Since their introduction to Unity, shaders have been seen as notoriously difficult to understand and implement in games. Complex mathematics has always stood in the way of creating your own shaders and attaining the level of realism you crave.Unity 2018 Shaders and Effects Cookbook changes that by giving you a recipe-based guide to creating shaders using Unity. It will show you everything you need to know about vectors, how lighting is constructed with them, and how textures are used to create complex effects without the heavy math.This book starts by teaching you how to use shaders without writing code with the post-processing stack. Then, you’ll learn how to write shaders from scratch, build up essential lighting, and finish by creating stunning screen effects just like those in high-quality 3D and mobile games. You'll discover techniques, such as normal mapping, image-based lighting, and animating your models inside a shader. We'll explore how to use physically based rendering to treat light the way it behaves in the real world. At the end, we’ll even look at Unity 2018’s new Shader Graph system.With this book, what seems like a dark art today will be second nature by tomorrow.

610
Eлектронна книга

Python Automation Cookbook. Explore the world of automation using Python recipes that will enhance your skills

Jaime Buelta

Have you been doing the same old monotonous office work over and over again? Or have you been trying to find an easy way to make your life better by automating some of your repetitive tasks? Through a tried and tested approach, understand how to automate all the boring stuff using Python. The Python Automation Cookbook helps you develop a clear understanding of how to automate your business processes using Python, including detecting opportunities by scraping the web, analyzing information to generate automatic spreadsheets reports with graphs, and communicating with automatically generated emails. You’ll learn how to get notifications via text messages and run tasks while your mind is focused on other important activities, followed by understanding how to scan documents such as résumés. Once you’ve gotten familiar with the fundamentals, you’ll be introduced to the world of graphs, along with studying how to produce organized charts using Matplotlib. In addition to this, you’ll gain in-depth knowledge of how to generate rich graphics showing relevant information. By the end of this book, you’ll have refined your skills by attaining a sound understanding of how to identify and correct problems to produce superior and reliable systems.

611
Eлектронна книга

Tokenomics. The Crypto Shift of Blockchains, ICOs, and Tokens

Sean Au, Thomas Power(GBP)

Tokenomics is the economy of this new world. This is a no-holds-barred, in-depth exploration of the way in which we can participate in the blockchain economy. The reader will learn the basics of bitcoin, blockchains, and tokenomics; what the very first ICO was; and how over a period of 5 years, various projects managed to raise the enormous sums of money they did. The book then provides insights from ICO experts and looks at what the future holds. By comparing the past, current, and future of this technology, the book will inform anyone, whatever motivates their interest.The crypto shift of blockchains, ICOs, and tokens is much more than just buying bitcoins, creating tokens, or raising millions in a minute in an ICO. It is a new paradigm shift from centralized to decentralized, from closed to open, and from opaqueness to transparency. ICOs and the creation of tokens during the craze of 2017 needed a lot of preparation, an understanding of cryptocurrencies and of emerging legal frameworks, but this has spurred a new movement to tokenize the world.The author gives an unbiased, authoritative picture of the current playing field, exploring the token opportunities and provides a unique insight into the developing world of this tokenized economy. This book will nourish hungry minds wanting to grow their knowledge in this fascinating area.

612
Eлектронна книга

Hands-On Concurrency with Rust. Confidently build memory-safe, parallel, and efficient software in Rust

Brian L. Troutwine

Most programming languages can really complicate things, especially with regard to unsafe memory access. The burden on you, the programmer, lies across two domains: understanding the modern machine and your language's pain-points. This book will teach you to how to manage program performance on modern machines and build fast, memory-safe, and concurrent software in Rust. It starts with the fundamentals of Rust and discusses machine architecture concepts. You will be taken through ways to measure and improve the performance of Rust code systematically and how to write collections with confidence. You will learn about the Sync and Send traits applied to threads, and coordinate thread execution with locks, atomic primitives, data-parallelism, and more.The book will show you how to efficiently embed Rust in C++ code and explore the functionalities of various crates for multithreaded applications. It explores implementations in depth. You will know how a mutex works and build several yourself. You will master radically different approaches that exist in the ecosystem for structuring and managing high-scale systems. By the end of the book, you will feel comfortable with designing safe, consistent, parallel, and high-performance applications in Rust.

613
Eлектронна книга

C# 7 and .NET Core 2.0 High Performance. Build highly performant, multi-threaded, and concurrent applications using C# 7 and .NET Core 2.0

Ovais Mehboob Ahmed Khan

While writing an application, performance is paramount. Performance tuning for realworld applications often involves activities geared toward fnding bottlenecks; however, this cannot solve the dreaded problem of slower code. If you want to improve the speed of your code and optimize an application's performance, then this book is for you. C# 7 and .NET Core 2.0 High Performance begins with an introduction to the new features of what?explaining how they help in improving an application's performance. Learn to identify the bottlenecks in writing programs and highlight common performance pitfalls, and learn strategies to detect and resolve these issues early. You will explore multithreading and asynchronous programming with .NET Core and learn the importance and effcient use of data structures. This is followed with memory management techniques and design guidelines to increase an application’s performance. Gradually, the book will show you the importance of microservices architecture for building highly performant applications and implementing resiliency and security in .NET Core. After reading this book, you will learn how to structure and build scalable, optimized, and robust applications in C#7 and .NET.

614
Eлектронна книга

Python Data Structures and Algorithms. Improve application performance with graphs, stacks, and queues

Benjamin Baka

Data structures allow you to organize data in a particular way efficiently. They are critical to any problem, provide a complete solution, and act like reusable code. In this book, you will learn the essential Python data structures and the most common algorithms. With this easy-to-read book, you will be able to understand the power of linked lists, double linked lists, and circular linked lists. You will be able to create complex data structures such as graphs, stacks and queues. We will explore the application of binary searches and binary search trees. You will learn the common techniques and structures used in tasks such as preprocessing, modeling, and transforming data. We will also discuss how to organize your code in a manageable, consistent, and extendable way. The book will explore in detail sorting algorithms such as bubble sort, selection sort, insertion sort, and merge sort. By the end of the book, you will learn how to build components that are easy to understand, debug, and use in different applications.

615
Eлектронна книга

Linux Administration Cookbook. Insightful recipes to work with system administration tasks on Linux

Adam K. Dean

Linux is one of the most widely used operating systems among system administrators,and even modern application and server development is heavily reliant on the Linux platform.The Linux Administration Cookbook is your go-to guide to get started on your Linux journey. It will help you understand what that strange little server is doing in the corner of your office, what the mysterious virtual machine languishing in Azure is crunching through, what that circuit-board-like thing is doing under your office TV, and why the LEDs on it are blinking rapidly.This book will get you started with administering Linux, giving you the knowledge and tools you need to troubleshoot day-to-day problems, ranging from a Raspberry Pi to a server in Azure, while giving you a good understanding of the fundamentals of how GNU/Linux works.Through the course of the book, you’ll install and configure a system, while the author regales you with errors and anecdotes from his vast experience as a data center hardware engineer, systems administrator, and DevOps consultant.By the end of the book, you will have gained practical knowledge of Linux, which will serve as a bedrock for learning Linux administration and aid you in your Linux journey.

616
Eлектронна книга

Azure for Architects. Implementing cloud design, DevOps, containers, IoT, and serverless solutions on your public cloud - Second Edition

Ritesh Modi

Over the years, Azure cloud services have grown quickly, and the number of organizations adopting Azure for their cloud services is also gradually increasing. Leading industry giants are finding that Azure fulfills their extensive cloud requirements.Azure for Architects – Second Edition starts with an extensive introduction to major designing and architectural aspects available with Azure. These design patterns focus on different aspects of the cloud, such as high availability, security, and scalability. Gradually, we move on to other aspects, such as ARM template modular design and deployments.This is the age of microservices and serverless is the preferred implementation mechanism for them. This book covers the entire serverless stack available in Azure including Azure Event Grid, Azure Functions, and Azure Logic Apps. New and advance features like durable functions are discussed at length. A complete integration solution using these serverless technologies is also part of the book. A complete chapter discusses all possible options related to containers in Azure including Azure Kubernetes services, Azure Container Instances and Registry, and Web App for Containers.Data management and integration is an integral part of this book that discusses options for implementing OLTP solutions using Azure SQL, Big Data solutions using Azure Data factory and Data Lake Storage, eventing solutions using stream analytics, and Event Hubs. This book will provide insights into Azure governance features such as tagging, RBAC, cost management, and policies.By the end of this book, you will be able to develop a full-?edged Azure cloud solution that is Enterprise class and future-ready.

617
Eлектронна книга

Hands-On Full Stack Development with Go. Build full stack web applications with Go, React, Gin, and GopherJS

The Go programming language has been rapidly adopted by developers for building web applications. With its impressive performance and ease of development, Go enjoys the support of a wide variety of open source frameworks, for building scalable and high-performant web services and apps. Hands-On Full Stack Development with Go is a comprehensive guide that covers all aspects of full stack development with Go.This clearly written, example-rich book begins with a practical exposure to Go development and moves on to build a frontend with the popular React framework. From there, you will build RESTful web APIs utilizing the Gin framework. After that, we will dive deeper into important software backend concepts, such as connecting to the database via an ORM, designing routes for your services, securing your services, and even charging credit cards via the popular Stripe API. We will also cover how to test, and benchmark your applications efficiently in a production environment. In the concluding chapters, we will cover isomorphic developments in pure Go by learning about GopherJS. As you progress through the book, you'll gradually build a musical instrument online store application from scratch.By the end of the book, you will be confident in taking on full stack web applications in Go.

618
Eлектронна книга

NGINX Cookbook. Over 70 recipes for real-world configuration, deployment, and performance

Tim Butler

NGINX Cookbook covers the basics of configuring NGINX as a web server for use with common web frameworks such as WordPress and Ruby on Rails, through to utilization as a reverse proxy. Designed as a go-to reference guide, this book will give you practical answers based on real-world deployments to get you up and running quickly. Recipes have also been provided for multiple SSL configurations, different logging scenarios, practical rewrites, and multiple load balancing scenarios. Advanced topics include covering bandwidth management, Docker container usage, performance tuning, OpenResty, and the NGINX Plus commercial features.By the time you've read this book, you will be able to adapt and use a wide variety of NGINX implementations to solve any problems you have.

619
Eлектронна книга

CompTIA Linux+ Certification Guide. A comprehensive guide to achieving LX0-103 and LX0-104 certifications with mock exams

Philip Inshanally

The Linux+ certification provides a broad awareness of Linux operating systems, while giving professionals an upper hand in the IT industry. With this certification, you’ll be equipped with the all-important knowledge of installation, operation, administration, and troubleshooting services.This CompTIA Linux+ Certification Guide will give you an overview of the system architecture. You’ll understand how to install and uninstall Linux distributions, followed by working with various package managers. You’ll then move on to manipulating files and processes at the command-line interface (CLI) and creating, monitoring, killing, restarting, and modifying processes.As you progress, you’ll be equipped to work with display managers and learn how you can create, modify, and remove user accounts and groups, as well as understand how to automate tasks. The last set of chapters will help you configure dates and set up local and remote system logging. In addition to this, you’ll explore different internet protocols, and delve into network configuration, security administration, Shell scripting, and SQL management.By the end of this book, you’ll not only have got to grips with all the modules you need to study for the LX0-103 and LX0-104 certification exams, but you’ll also be able to test your understanding with practice questions and mock exams.

620
Eлектронна книга

Learning C++ Functional Programming. Explore functional C++ with concepts like currying, metaprogramming and more

Wisnu Anggoro

Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of C++, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the C++ 17 features that can be applied to build software in a functional way.The book is divided into three modules—the first introduces the fundamentals of functional programming and how it is supported by modern C++. The second module explains how to efficiently implement C++ features such as pure functions and immutable states to build robust applications. The last module describes how to achieve concurrency and apply design patterns to enhance your application’s performance. Here, you will also learn to optimize code using metaprogramming in a functional way.By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis.

621
Eлектронна книга

Learn C# in 7 days. Get up and running with C# 7 with async main, tuples, pattern matching, LINQ, regex, indexers, and more

Gaurav Aroraa

This book takes a unique approach to teach C# to absolute beginners. You’ll learn the basics of the language in seven days. It takes a practical approach to explain the important concepts that build the foundation of the C# programming language. The book begins by teaching you the basic fundamentals using real-world practical examples and gets you acquainted with C# programming. We cover some important features and nuances of the language in a hands-on way, helping you grasp the concepts in a fluid manner. Later, you’ll explore the concepts of Object-Oriented Programming (OOP) through a real-world example. Then we dive into advanced-level concepts such as generics and collections, and you’ll get acquainted with objects and LINQ. Towards the end, you’ll build an application that covers all the concepts explained in the book. By the end of this book, you will have next-level skills and a good knowledge of the fundamentals of C#.

622
Eлектронна книга

Advanced Python Programming. Build high performance, concurrent, and multi-threaded apps with Python using proven design patterns

Dr. Gabriele Lanaro, Quan Nguyen, Sakis Kasampalis

This Learning Path shows you how to leverage the power of both native and third-party Python libraries for building robust and responsive applications. You will learn about profilers and reactive programming, concurrency and parallelism, as well as tools for making your apps quick and efficient. You will discover how to write code for parallel architectures using TensorFlow and Theano, and use a cluster of computers for large-scale computations using technologies such as Dask and PySpark. With the knowledge of how Python design patterns work, you will be able to clone objects, secure interfaces, dynamically choose algorithms, and accomplish much more in high performance computing.By the end of this Learning Path, you will have the skills and confidence to build engaging models that quickly offer efficient solutions to your problems.This Learning Path includes content from the following Packt products:• Python High Performance - Second Edition by Gabriele Lanaro• Mastering Concurrency in Python by Quan Nguyen• Mastering Python Design Patterns by Sakis Kasampalis

623
Eлектронна книга

Hands-On Meta Learning with Python. Meta learning using one-shot learning, MAML, Reptile, and Meta-SGD with TensorFlow

Sudharsan Ravichandiran

Meta learning is an exciting research trend in machine learning, which enables a model to understand the learning process. Unlike other ML paradigms, with meta learning you can learn from small datasets faster.Hands-On Meta Learning with Python starts by explaining the fundamentals of meta learning and helps you understand the concept of learning to learn. You will delve into various one-shot learning algorithms, like siamese, prototypical, relation and memory-augmented networks by implementing them in TensorFlow and Keras. As you make your way through the book, you will dive into state-of-the-art meta learning algorithms such as MAML, Reptile, and CAML. You will then explore how to learn quickly with Meta-SGD and discover how you can perform unsupervised learning using meta learning with CACTUs. In the concluding chapters, you will work through recent trends in meta learning such as adversarial meta learning, task agnostic meta learning, and meta imitation learning.By the end of this book, you will be familiar with state-of-the-art meta learning algorithms and able to enable human-like cognition for your machine learning models.

624
Eлектронна книга

Mastering Concurrency in Python. Create faster programs using concurrency, asynchronous, multithreading, and parallel programming

Quan Nguyen

Python is one of the most popular programming languages, with numerous libraries and frameworks that facilitate high-performance computing. Concurrency and parallelism in Python are essential when it comes to multiprocessing and multithreading; they behave differently, but their common aim is to reduce the execution time. This book serves as a comprehensive introduction to various advanced concepts in concurrent engineering and programming.Mastering Concurrency in Python starts by introducing the concepts and principles in concurrency, right from Amdahl's Law to multithreading programming, followed by elucidating multiprocessing programming, web scraping, and asynchronous I/O, together with common problems that engineers and programmers face in concurrent programming. Next, the book covers a number of advanced concepts in Python concurrency and how they interact with the Python ecosystem, including the Global Interpreter Lock (GIL). Finally, you'll learn how to solve real-world concurrency problems through examples.By the end of the book, you will have gained extensive theoretical knowledge of concurrency and the ways in which concurrency is supported by the Python language