echo-dataimporter¶
Package to import data from multiple sources
Installation¶
This package can be installed using pip running the following command. It will also install other Echoenergia packages just to make sure that all dependencies are met.
uv pip install --force-reinstall --no-deps -r https://raw.githubusercontent.com/performance-echo/.github/main/echo_packages.txt
uv pip install -r https://raw.githubusercontent.com/performance-echo/.github/main/echo_packages.txt
Note
- The command above uses uv for faster installs. If you don't have it installed, install it using
pip install uv
. After that you can always useuv pip
for faster installs than regularpip
. - This command assumes that you are logged into GitHub. Ig you are not, please do
gh auth login
and follow the instructions before running the command above.
Documentation¶
The documentation of this module is available at echo-dataimporter.pages.dev. It uses the mkdocs tool alongside mkdocs-material and mkdocstrings to generate a static website with all the information needed to use the package. All relevant configuration files are present in mkdocs.yml and the documentation files are in the docs folder.
To see the documentation while developing the package, run the command below and open the browser at the address http://localhost:8111
. You can change the port if needed.
mkdocs serve -a localhost:8111
When pushing changes to the repository, the documentation will be automatically updated in Cloudfare Pages due to the connection configured in Cloudflare. This way, you don't need to worry about updating the documentation when pushing changes to the repository. The process of configuring the connection in Cloudflare Pages is explained in this link, but there are details were considered:
- The deployment uses Cloudflare credentials
bruno.macedo@echoenergia.com.br
and1cY&l@EZTx6e9d
. - Add the
requirements-cloudflare.txt
file to the repository, containing the dependencies needed to build the documentation - Change the build command to
pip install -r requirements-cloudflare.txt && mkdocs build
- To avoid Cloudflare trying to install the requirements from the
requirements.txt
file, you should add environment variableSKIP_DEPENDENCY_INSTALL
with the value1
to the build settings. -
Add the values below in the
extra
field of themkdocs.yml
file to avoid the page being indexed by search engines like Google and Bing.```yaml extra: meta: - name: robots content: noindex
-
Specify the Python version to be used in the Cloudflare Pages build settings by adding
.python-version
file to the root of the repository. Don't forget to remove any mentions to this file in.gitignore
file.
Testing¶
Pytest¶
Several pre-defined tests are configured in the auto_test.py file using pytest. Run it to see if the standard functionality of the module is working properly.
One good way to use the pre-configured tests is by using the Visual Studio Code testing module. To do so, just open the icon on the left side of the screen that looks like a test tube and run or debug the tests using pytest.
Warning
Keep in mind that the pre-configured tests in this file assumes that you are executing them from the Performance server. This is needed as many tests need to connect to the sites directly, which is only possible from the Performance server.
Local installation¶
During development the package can be installed from the local repository using the command below. The first line is there to remove the build folder, which can have previously deleted files.
uv pip install . --no-deps --reinstall --no-cache