At its core, the main purpose of Python virtual environments is to create an isolated environment for Python projects. This means that each project can have its own dependencies, regardless of what dependencies every other project has. The most used virtual environments and dependency managers in Python are Virtualenv, venv (Python 3.3), Pipenv, Poetry, Conda, Docker.
You may have heard about PyPI, setup.py, and wheel files. These are just a few of the tools Python’s ecosystem provides for distributing Python code to developers. If you heard previous things then most probably you know about Python Packaging Authority (PyPA) and their Python Packaging User Guide, which is the authoritative resource on how to package, publish and install Python projects using current tools.
Version control, also known as source control, is the practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time. Few of the most popular — Git, Mercurial, SVN, etc.
Containers are a form of operating system virtualization. A single container might be used to run anything from a small microservice or software process to a larger application. Inside a container are all the necessary executables, binary code, libraries, and configuration files. Compared to server or machine virtualization approaches, however, containers do not contain operating system images. This makes them more lightweight and portable, with significantly less overhead. In larger application deployments, multiple containers may be deployed as one or more container clusters. Such clusters might be managed by a container orchestrator such as Kubernetes.
CI (Continuous Integration) and CD (Continuous Delivery) are part of the DevOps culture in which you combine development and operational processes into a single and collaborative workflow to make sure the two teams are on the same page. There are many tools and principles within this scope of activity: Jenkins, CodeShip, TeamCity, CircleCI, GitLab, Travis, VSTS, etc.; Deployment strategies: Rolling, Blue-Green, Canarry deployments etc.
Monitoring tools can proactively capture, analyze, trace, and display information related to developed applications. They provide full-stack visibility, which can ultimately help identify and fix application performance bottlenecks and improve the user’s experience. The most popular: Zabbix, Nagios, Prometheus, DataDog, NewRelic, Graphite/Graphana, etc.
Measuring performance provides an important metric to help you assess the success of your app, site, or web service. For example, you can use performance metrics to determine how your app performs in comparison to a competitor or you can compare your app's performance across releases. The metrics you choose to measure should be relevant to your users, site, and business goals. They should be collected and measured in a consistent manner and analyzed in a format that can be consumed and understood by non-technical stakeholders.
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.