Changelog da semana

O que aconteceu de interessante no mundo do Python

Django REST framework 3.6.3

Nova versão menor do DRF com muitas correções de bugs e novas funcionalidades:

  • Levanta uma exceção 404 se a URL resulta em ValidationError. (#5126)
  • Honra http_method_names em class based views na geração de API schemas. (#5085)
  • Permite que um valor sobreposto de get_limit em LimitOffsetPagination retorne todos os registros. (#4437)
  • Corrige atualização parcial de ListSerializer. (#4222)
  • Usa o controle apropriado para JSONField na API navegável. (#4999, #5042)
  • Levanta erros de validação para uma data/hora inválida em determinada timezone timezone (pensa naquela hora que some quando troca para horário de verão, por exemplo). (#4987)
  • Suporte pare restringir os links para documentação & schema a um subconjunto das urls. (#4979)
  • Resolve o erro de SchemaGenerator com paginadores que não tem um atributo page_size. (#5086, #3692)
  • Resolve a exceção HyperlinkedRelatedField com endereços que usam %20 em vez de espaço. (#4748, #5078)
  • Classes de SchemaGenerator personalizáveis. (#5082)
  • Atualiza os cabeçalhos vary existentes na resposta em vez de sobrepo-los. (#5047)
  • Suporte para passar .as_view() para uma instância de view. (#5053)
  • Usa o manipulador de exceção correto quando as configurações são sobrepostas em uma view. (#5055, #5054)
  • Atualiza o tipo de campo Boolean para suportar valores ‘yes’ e ‘no’. (#5038)
  • Corrige o validador de unicidade do ChoiceField. (#5004, #5026, #5028)
  • Limpeza do javaScript na documentação da API. (#5001)
  • Inclui o caminho de URL contendo expressões regulares em API schemas quando válido. (#5014)
  • Define o scheme corretamente na coreapi TokenAuthentication. (#5000, #4994)
  • Requisições HEAD em ViewSets não devem retornar HTTP 405. (#4705, #4973, #4864)
  • Suporte para o uso de ‘source’ em extra_kwargs. (#4688)
  • Corrige cabeçalho content type errado para schema.js (#4968)
  • Corrige problemas de herança com DjangoFilterBackend. (#5089, #5117)

Postgres 10 beta 1

Foi anunciada a versão beta do Postgres 10. Não exatamente Python, mas o PG é o banco de dados mais utilizado com Django. O que tem de interessante nesta versão? Entre outras coisas:

  • Full Text Search para campos JSON e JSONB
  • Logical Replication: opção para replicar tabelas específicas ou usar replicação para upgrade
  • Native Table Partitioning: particionamento de tabelas baseado em faixas de valores e/ou lista como objetos nativos
  • Additional Query Parallelism: mais parelelismo em consultas incluindo index scans, bitmap scans, e merge joins
  • Quorum Commit for Synchronous Replication: garantia contra perda de mais de um nó simultaneamente

E muitas outras coisas que você pode conferir no anúncio original. Na prática, muitas razões que você teria para usar um banco de dados orientado a documentos como MongoDB e etc não existe mais, dá pra resolver tudo no PG mesmo e com vantagens em termos de garantias de atomicidade, consistência, integridade e durabilidade.

Top 15 bibliotecas para data science em 2017

O cientista de dados e empreendedor Igor Bobriakov publicou um artigo elencando as 15 bibliotecas mais importantes para esse ramo em 2017 (nenhuma ordem em particular):

  1. NumPy (Commits: 15980, Contributors: 522)
  2. SciPy (Commits: 17213, Contributors: 489)
  3. Pandas (Commits: 15089, Contributors: 762)
  4. Matplotlib (Commits: 21754, Contributors: 588)
  5. Seaborn (Commits: 1699, Contributors: 71)
  6. Bokeh (Commits: 15724, Contributors: 223)
  7. Plotly (Commits: 2486, Contributors: 33)
  8. SciKit-Learn (Commits: 21793, Contributors: 842)
  9. Theano. (Commits: 25870, Contributors: 300)
  10. TensorFlow. (Commits: 16785, Contributors: 795)
  11. Keras. (Commits: 3519, Contributors: 428)
  12. NLTK (Commits: 12449, Contributors: 196)
  13. Gensim (Commits: 2878, Contributors: 179)
  14. Scrapy (Commits: 6325, Contributors: 243)
  15. Statsmodels (Commits: 8960, Contributors: 119)

Veja o artigo original (em inglês) para os comentários do autor sobre cada biblioteca. Na tabela abaixo está reproduzida a planilha que ele compilou com os dados detalhados extraídos do site de cada projeto no github:

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.