bolidozor / python-bolidozor-postprocessing

Bolidozor data postprocessing library.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


python-bolidozor-postprocessing

◦ Bolidozor data postprocessing library

◦ Developed with the software and tools listed below.

Python Markdown

GitHub top language GitHub code size in bytes GitHub commit activity GitHub license

Table of Contents


Overview

The Bolidozor Postprocessing Library is geared toward specialized data management tasks, with a strong focus on efficient handling of database resources. The library is designed with the capability to import raw data, convert it to suitable format, and output the data in an easy-to-interpret rundown. Integrated with access capabilities to online astronomy databases, the library streamlines the data transformation processes, particularly in managing data related to astronomy and space sciences. The project also includes comprehensive documentation with automated API document generator, Sphinx, enriching the overall value proposition by making it friendly for its users.


Features

Feature Description
Architecture Written in Python, the code emphasizes usability via packages and internal library references. It is primarily an analysis and post-processing tool, revolving around objects with elaborative functionalities.
Documentation This project features comprehensive documentation provided, along with comments in the script code. Documentation is provided by Sphinx, which makes it easier for developers to understand the software.
Dependencies The system is developed in Python and hence depends on Python-based libraries including the 'bzpost' package factored into the analysis. Test references benchmark routines using the 'urllib2' and 'bzpost' libraries.
Modularity The project showcases modularity via separations into the config file, documentation file and testing components. Each Python script is tasked with defined roles that improve modularity.
Testing Some basic performance testing has been carried, judging by time metrics coded in test.py file. They provide insights into module execution times using different request methods.
Performance Test results which are used to assess the systems capability aren't available. Verification by running the provided test scripts would provide accurate information on performance.
Security Thorough code review does not reveal explicit security measures other than traditional best practices during coding. The prime focus here seems to be software performance and functionality.
Version Control The project is hosted on GitHub, which aids for code management and version control. It remains a pacey way to consolidate code-based tracking ensuring changes and version control.
Integrations Specific integrations such as web-based functionalities, have been performed using libraries like 'urllib2'. Primary integrations revolve around homegrown packages.
Scalability While Scalability characteristics of the system are hard to predict without witnessing user-load or larger datasets, Python and the modular approach lay a good foundation for scaling possibilities.

Project Structure


Modules

Root
File Summary
setup.py The code is a Python script used to perform the setup for a package called'bzpost'. It describes essential attributes about the package such as name, version, author, etc. The setup script also provides information on the license, focus, status of the package, and its compatibility with Python 2.7.
test.py This Python script leverages a StopWatch class to benchmark the time taken to make 500 requests to a predefined web URL. It firstly makes these requests using the urllib2 library, before repeating the process using an HTTP Connector object from the bzpost library. The performance metrics such as total time, iterations, and iteration time, are subsequently printed out.
Doc
File Summary
index.rst The Bolidozor Postprocessing Library documentation provides comprehensive insights into the usage and modification of Bolidozor Postprocessing Library's codebase. It divulges a family of functionalities such as generating indices, module reference guides and an in-built search system, all under a two-step precision framework.
make.bat This is a batch script facilitating multiple objectives related to Sphinx documentation generation and its output formats delivery. It defines environment variables, sets build directory and print help if need be. Code includes options to build various formats: HTML, JSON, epub, latex and more. It checks if'sphinx-build' is installed and performs validations. Clean-up is also possible.
Makefile This code is a Makefile for Sphinx documentation. It builds Sphinx documents in various formats (HTML, LaTeX, PDF, ePub, Texinfo, etc.). It checks if'sphinx-build' command exists at an outset and proceeds to build a Doctree, passing relevant parameters. Additionally, it enables miscellaneous functions like getting an overview of all changed items, testing'doctests', checking link integrity, creating message catalogs for i18n, and removing all Sphinx build output.
bzpost.rst The'bzpost' package is designed for specialized data management tasks. With both documented and undocumented member functions, it aids users in accessing database resources through inheritance functionalities and helps in modular administration. It streamlines processes, reinforcing databasing for enhanced performance.
conf.py This script is a configuration file for the Sphinx documentation generation tool. It sets numerous options for document export in several formats including HTML, LaTeX, manual pages, and Texinfo. The file also auto-document Python code when used in conjunction with Sphinx's autodoc extension, in addition to enabling view of the source code with the viewcode extension. The targeted library is Bolidozor Postprocessing Library.

Getting Started

Python3 Development Installation

sudo apt-get install python3-uritools

git clone https://github.com/bolidozor/python-bolidozor-postprocessing.git
cd ./python-bolidozor-postprocessing
git checkout python3
sudo python3 setup.py develop

Contributing

Contributions are always welcome! Please follow these steps:

  1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
  2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
  3. Create a new branch with a descriptive name (e.g., new-feature-branch or bugfix-issue-123).
git checkout -b new-feature-branch
  1. Make changes to the project's codebase.
  2. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
  1. Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
  1. Create a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.

License

This project is licensed under the GPL 3 License.

About

Bolidozor data postprocessing library.

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 100.0%