Visão geral dos módulos Python em dispositivos que executam o Junos OS
O intérprete do Python está incluído como parte do sistema operacional Junos (Junos OS). O Junos OS e o Junos OS Evolved incluem muitos módulos Python que podem ser usados em aplicativos Python, incluindo scripts de automação de commit, event, op e SNMP; Aplicativos do Kit de Ferramentas de Extensão (JET) da Juniper; e roteiros de ação e tradução de YANG. O uso de um módulo específico depende das permissões do usuário que o está executando.
A Tabela 1 descreve as atualizações gerais e as plataformas afetadas para cada conjunto de atualizações de módulos em uma versão específica. Para determinar a versão inicial em que uma determinada plataforma oferece suporte a uma versão específica do Python (2,7 ou 3) para um determinado tipo de script, consulte a ferramenta Feature Explorer .
Lançamento |
Descrição das mudanças |
Plataformas de suporte |
---|---|---|
Versão do Junos OS 18.1R1 |
Atualizações de módulo para Python 2.7 |
Roteadores MX240, MX480, MX960 e vMX |
Versão do Junos OS 19.2R1 |
Atualizações de módulo para Python 2.7 |
Roteadores da Série MX e switches da Série QFX |
Versão do Junos OS 19.4R1 |
Atualizações de módulo para Python 2.7 Adições de módulo para Python 3.x (apenas scripts de confirmação, evento, op e SNMP) |
Roteadores da Série ACX, Série MX e PTX Switches da Série EX e QFX Gateways de serviços da Série SRX |
Versão do Junos OS 20.2R1 |
Adições de módulo para Python 3.x |
Roteadores da Série ACX, Série MX e PTX Switches da Série EX e QFX Gateways de serviços da Série SRX |
Versão evoluída do Junos OS 21.2R1 |
Adições de módulo para Python 3.x |
Roteadores da Série PTX |
A Tabela 2 descreve os módulos Python que estão disponíveis no Junos OS e no Junos OS Evolved para Python 2.7 e Python 3.
Pacote/módulo |
Descrição |
Apoio |
Apoio |
||
---|---|---|---|---|---|
2.7 |
3.x |
2.7 |
3.x |
||
|
Determina o caminho até os diretórios específicos da plataforma apropriados para dados de usuários específicos de aplicativos. |
Y |
Y |
Y |
Y |
|
Biblioteca para analisar e serializar estruturas abstratas de notação de sintaxe (ASN.1). |
Y |
Y |
Y |
Y |
|
Pacote Python que permite que você escreva aulas sem escrever todo o código de boilerplate. |
– |
– |
– |
Y |
|
Expressão Python de máquinas de estado finito. |
– |
– |
– |
Y |
|
Biblioteca para hashing e armazenamento de senhas. |
– |
– |
– |
Y |
|
Interface de funções estrangeiras C para Python, que permite que os aplicativos Python interajam com o código C. |
Y |
Y |
Y |
Y |
|
Detector de codificação universal de caracteres para Python 2 e 3. |
Y |
Y |
Y |
Y |
|
Biblioteca que oferece suporte simbolismo constante. |
– |
– |
– |
Y |
|
Coleção de módulos Python no pacote PyCrypto que implementa algoritmos e protocolos criptográficos. Os módulos fornecem várias funções seguras de hash e criptografia. |
Y |
Y |
Y |
Y |
|
Fornece receitas criptográficas e primitivos em Python. |
Y |
Y |
Y |
Y |
|
Fornece uma interface para execução assíncrona de callables. O Python 3 inclui este pacote como parte da biblioteca padrão. |
Y |
Y |
Y |
Y |
|
Fornece uma implementação da criptografia ECDSA, que pode ser usada para criar pares-chave, assinar mensagens e verificar assinaturas. |
Y |
Y |
Y |
Y |
|
O Python 3 inclui essa funcionalidade como parte da biblioteca padrão. |
Y |
Y |
Y |
Y |
|
Nova versão do protocolo RPC nativo do Twisted. |
– |
– |
– |
Y |
|
Biblioteca de compatibilidade Python 2 e Python 3. |
– |
– |
– |
Y |
|
Oferece suporte para trabalhar com buffers de protocolo (protobuf). |
Y |
Y |
Y |
Y |
|
Ferramentas de gRPC Python. |
Y |
Y |
Y |
Y |
|
Implementação pure-Python de URLs imutáveis. |
– |
– |
– |
Y |
|
Oferece suporte para o protocolo Internacionalizado de Nomes de Domínio em Aplicativos (IDNA), conforme definido na RFC 5891, Internationalized Domain Names in Applications (IDNA): Protocol. |
Y |
Y |
Y |
Y |
|
Biblioteca para versões de projetos Python. |
– |
– |
– |
Y |
|
Oferece recursos para criar, manipular e operar em endereços IPv4 e IPv6. O Python 3 inclui este módulo como parte da biblioteca padrão.
Nota:
Dispositivos que executam o Junos OS com suporte freeBSD atualizado usando IPv6 em scripts Python a partir do Junos OS Release 19.3R1. |
Y |
Y |
Y |
Y |
|
Linguagem de templating rápida, segura e amigável para o Python. Para obter mais informações sobre Jinja2, consulte http://jinja.pocoo.org/docs/dev/. |
Y |
Y |
Y |
Y |
|
Microframework para Python que permite automatizar dispositivos em execução do Junos OS. O Junos PyEZ foi projetado para fornecer os recursos que um usuário teria na interface de linha de comando (CLI) do Junos OS em um ambiente criado para tarefas de automação. Para obter mais informações, consulte o Junos PyEZ. |
Y |
Y |
Y |
Y |
|
Módulo Python para converter estruturas de dados XML para Python e converter estruturas de dados Python em XML. Para obter mais informações, consulte https://jxmlease.readthedocs.io/. |
Y |
Y |
Y |
Y |
|
Biblioteca de processamento XML que combina a velocidade e a integridade do recurso XML das bibliotecas C libxml2 e libxslt com a simplicidade de uma API Python nativa. Para obter mais informações, consulte http://lxml.de. |
Y |
Y |
Y |
Y |
|
Oferece a capacidade de escapar e formatar uma cadeia segura de marcação XML, HTML ou XHTML. |
Y |
Y |
Y |
Y |
|
Facilita o script do cliente e o desenvolvimento de aplicativos por meio do protocolo NETCONF. Para obter mais informações sobre |
Y |
Y |
Y |
Y |
|
Biblioteca de manipulação de endereços de rede que permite o processamento de endereços de rede de Camada 2 e Camada 3. |
Y |
Y |
Y |
Y |
|
Serviços básicos para pacotes Python. |
Y |
Y |
Y |
Y |
|
Serve como uma classe de cliente que permite que os aplicativos se conectem a um corretor de transporte de telemetria de fila de mensagens (MQTT) para publicar mensagens e se inscrever em tópicos e receber mensagens publicadas. |
Y |
Y |
Y |
Y |
|
Biblioteca de protocolos SSH2 que oferece a capacidade de fazer conexões baseadas em protocolo SSH2. Este módulo oferece suporte a todas as principais cifras e métodos de hash para modos de cliente e servidor.
Nota:
|
Y |
Y |
Y |
Y |
|
Oferece APIs para encontrar e gerenciar dependências de pacotes e versões Python e acessar arquivos e recursos empacotados. |
Y |
Y |
Y |
Y |
|
Biblioteca para recuperar informações sobre processos em execução e utilização do sistema (CPU, memória, discos e processos).
Nota:
|
Y |
Y |
Y |
Y |
|
Validador e conversor YANG extensível que permite o processamento, validação e conversão de módulos YANG. O Junos OS adiciona suporte ao |
Y |
Y |
Y |
– |
|
Implementação python de tipos abstratos de notação de sintaxe um (ASN.1) e codecs BER/CER/DER (X.208). |
Y |
Y |
Y |
Y |
|
Coleta de estruturas de dados ASN.1 expressas como aulas de Python. |
– |
– |
– |
Y |
|
Parser para a linguagem C escrita em Python puro. O módulo pode ser integrado a aplicativos que precisam analisar o código-fonte C. |
Y |
Y |
Y |
Y |
|
Python vinculado à biblioteca de redes e criptografia (NaCl). |
– |
– |
– |
Y |
|
Módulo de invólucro Python em torno de um subconjunto da biblioteca OpenSSL. |
– |
– |
– |
Y |
|
Oferece uma abordagem alternativa para criar e executar gramáticas simples. |
Y |
Y |
Y |
Y |
|
Fornece extensões para o módulo de datatime. |
– |
– |
– |
Y |
|
Biblioteca que permite o envio de solicitações HTTP/1.1 usando Python. |
Y |
Y |
Y |
Y |
|
Implementação do protocolo SCP para Paramiko que usa o transporte Paramiko para enviar e receber arquivos através do protocolo SCP. |
Y |
Y |
Y |
Y |
|
Módulo no pacote pySerial que encapsula o acesso para portas em série. |
Y |
Y |
Y |
Y |
|
Serviço identifica verificação para pyOpenSL e criptografia. |
– |
– |
– |
Y |
|
Biblioteca projetada para facilitar o empacotamento de projetos Python. |
– |
Y |
– |
Y |
|
Biblioteca de compatibilidade Python 2 e Python 3. |
Y |
Y |
Y |
Y |
|
Fornece vinculações Python para a estrutura de brechós Apache.
|
Y |
– |
– |
– |
|
Implementação de máquina de estado orientada por objetos. |
– |
– |
– |
Y |
|
Estrutura baseada em eventos para aplicativos de internet. |
– |
– |
– |
Y |
|
cliente HTTP para Python. |
Y |
Y |
Y |
Y |
|
Módulo no pacote PyYAML usado para serializar e deserializar dados no formato YAML. |
Y |
Y |
Y |
Y |
|
Carregador e dumper YAML para PyYAML que usa |
– |
– |
– |
Y |
|
Pacote que permite especificar interfaces para Python. |
– |
– |
– |
Y |