sábado, 23 de agosto de 2014

Projeto FinDt: Release 3.0.0


Hoje eu disponibilizei a versão 3.0.0 do módulo FinDt.

Decidi mudar o número de versão maior de 2 para 3 pois alterei a nomenclatura de praticamente todos os métodos do módulo para lower-case, para que o módulo fique mais compatível com o sistema de nomenclaturas do Python. Embora os nomes dos métodos tenham ficado muito parecidos com os anteriores, além de passá-los para lower-case, em nomes compostos por mais de um nome, separei-os com sinal underline.

Sei que isto vai provovar alguns transtornos, mas, conforme fui me aprofundando no aprendizado do Python, descobri que a maior parte dos módulos e pacotes seguem um sistema de nomenclaturas e versões. Quando publiquei as primeiras versões do FinDt eu estava apenas começando a usar a linguagem e ainda não tinha todo este know-how. Com a aquisição de novos conhecimentos, achei que seria correto aplicá-los ao módulo, mesmo que venham a causar algumas incompatibilidades.

É também por este motivo que ainda estou mantendo o módulo como uma versão 3-Alpha: sei que existem muitos pontos a serem aperfeiçoados, quer na estrutura do módulo, na melhoria das funcionalidades, quer na compatibilidade com os padrões mais usados para nomenclatura e distribuição de pacotes Python.

Assim, conforme eu for ampliando estes conhecimentos, pretendo aplicá-los aqui, em primeira mão (afinal este foi o primeiro módulo que publiquei no PyPI), até que eu atinja um tal maturidade que possa considerar o módulo como versão estável ou madura.


sábado, 15 de março de 2014

Blog Revisado


Hoje fiz uma série de alterações no layout deste blog para tentar torná-lo mais organizado e com visual mais elegante: sei que não tem nada a ver com Python ou Matemática e Finanças, mas nada mal para quem tem só um pouquinho de conhecimento de HTML5 e CSS.

Para quem estiver interessado:

segunda-feira, 3 de março de 2014

Projeto FinCDB


Dando continuidade no meu projeto de criação de um módulo ou pacote Python Python é uma linguagem de programação de alto nível, interpretada, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. capaz de propiciar ferramentas para simulações de títulos de renda fixa do mercado financeiro brasileiro, em 15.02.2014, coloquei à disposição no PyPI a primeira versão do módulo FinCDB (versão 0.1.0), ainda sem documentação e com vários bugs e implementações clamando por uma solução (O módulo FinDt é requisito básico para o seu funcionamento).

Apesar de todos os bugs, esta versão já é capaz de simular a evolução de um CDB contratado a uma dada taxa (por exemplo, 102% do CDI) por um dado período (1 ano), e que não tenha tido resgates parciais durante sua vida, com diferença na casa dos decimais quando comparado com o resultado do extrato de um CDB de um Banco qualquer, que usei como exemplo.


Alteração no Setup.py


E hoje, fiz upload da versão 0.1.1, que na verdade não tem nada de novo; apenas a usei para implementar meu arquivo setup.py, o qual ainda não tinha a capacidade de incluir no pacote para distribuição os arquivos auxiliares ao projeto (readme.txt, changes.txt, license.txt). Solucionada esta questão, preciso descobrir como fazer com que o setup.py seja capaz de resolver as dependências do projeto (por enquanto, somente o módulo FinDt). Desta forma, consegui deixar meu arquivo de setup mais próximo da requisições do pacote distutils, responsável por construir, instalar e distribuir projetos Python. 

Consegui chegar num modelo que talvez ainda não seja o ideal, mas que funcionou perfeitamente para meu propósito. Você não consegue encontrar um tutorial completo de como preparar um arquivo setup para seu projeto Python; cheguei à minha versão final após consultar várias fontes na internet. Aí vão minhas dicas:


Agora, preciso começar a fazer vários aprimoramentos e correções de bugs, além de criar a documentação básica para uso do módulo.

sábado, 7 de setembro de 2013

Projeto FinDt


Alterei o status de desenvolvimento do projeto FinDt de 2-PreAlpha para 3-Alpha diretamente no site do PyPi (fiz alteração manualmente). Decidi fazer a alteração pois acho que o módulo alcançou uma certa estabilidade e acho que não serão necessárias mais grandes alterações para as versões futuras.

Também contribuiu para que eu fizesse a alteração, o grande número de downloads do módulo: embora eu não tenha uma certeza exata do total de downloads, pois em Maio ou Junho o PyPi alterou o modelo do contador de downloads, pela última apuração feita pelo PyPi Ranking o FinDt já havia tido 1.808 downloads para as versões 1.0.0, 1.0.1 e 2.0.0 (apurada em 18/05/2013). Com a alteração, a contagem de downloads passou a ser pelos totais apurados no último dia, última semana e último mês, respectivamente. Na data desta postagem e nesta sequência, meu módulo apontava 28, 124 e 380 downloads.

Não dá para saber ainda se eles voltarão a publicar uma contagem geral de downloads dos módulos, mas eu acho que deveria existir uma, principalmente, porque é através desta contagem que conseguimos ter alguma ideia da receptividade dos mesmos e, portanto, interpretar se ele é ou não útil.

Também acho que PyPi Ranking deveria ser atualizado com maior frequência.



sábado, 25 de maio de 2013

Projeto FinDt


Hoje fiz upload na versão 2.0.2 do módulo FinDt, com a inclusão do método 'subperiodo' o qual permite a criação de uma lista que é um subconjunto de datas do período principal de uma instância da classe DatasFinanceiras.

Este novo método vem para facilitar algumas limitações que eu já estava percebendo quando, por algum motivo, eu precisava trabalhar com um ou vários sub-períodos dentro dos limites do período principal.

quarta-feira, 17 de abril de 2013

Projeto FinDt


Finalmente saiu FinDt 2.0: além do módulo ter se tornado uma classe a partir desta versão, coloquei pela primeira vez uma Documentação para o mesmo à disposição no PyPI (http://pythonhosted.org/FinDt).

O módulo em si não sofreu nenhuma grande alteração além desta transformação; todas suas funcionalidades anteriores foram mantidas. A única alteração digna de nota é a possibilidade de se usar datas com os mais diversos tipos de separador e não apenas a tradicional barra ( / ): assim, o dia "12/04/2013" pode ser representado como "12-04-2013", "12:04:2013" ou "12 04 2013" (isso mesmo, com espaço em branco) - congratulações às expressões regulares (módulo re) do Python.

A Documentação possui alguns exemplos básicos de como criar uma instância da classe DatasFinanceiras e de como usar seus principais métodos. 

Assim como pretendo continuar melhorando o módulo conforme vou ampliando meus conhecimentos em Python, também espero ir melhorando a documentação conforme aprendo como incrementá-la usando Sphinx.

terça-feira, 5 de março de 2013

Projeto FinDt


Hoje fui obrigado a remover e fazer novo upload do módulo FinDt 1.0.2 no PyPI:  eu não havia percebido no último sábado que, por algum erro meu, o pacote não havia sido carregado. Somente os detalhes do pacote constantes no arquivo de setup estavam aparecendo (!?). Em todo caso, preferi gerar novo pacote de distribuição e refazer o processo.