Skip to content

Commit

Permalink
Dev (#50)
Browse files Browse the repository at this point in the history
* update docs, add simple test

* update table of contents

* rm test creds

* Setup action to run test suite

Signed-off-by: Irfan Sharif <[email protected]>

* Fix checkout

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Adding credentials for IBM i

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Moved pytest.ini creation in to pytest directory

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

* Remove pytest.ini creation

Signed-off-by: Irfan Sharif <[email protected]>

* Configuring secrets

Signed-off-by: Irfan Sharif <[email protected]>

* Debugging workflow

Signed-off-by: Irfan Sharif <[email protected]>

* Setup action to run test suite

Signed-off-by: Irfan Sharif <[email protected]>

Fix checkout

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Adding credentials for IBM i

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Moved pytest.ini creation in to pytest directory

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Debugging action

Signed-off-by: Irfan Sharif <[email protected]>

Remove pytest.ini creation

Signed-off-by: Irfan Sharif <[email protected]>

Configuring secrets

Signed-off-by: Irfan Sharif <[email protected]>

Debugging workflow

Signed-off-by: Irfan Sharif <[email protected]>

* Formatting changes

Signed-off-by: Irfan Sharif <[email protected]>

* Update requirements for linting and formatting

Signed-off-by: Irfan Sharif <[email protected]>

* Consolidate PR workflow into one

Signed-off-by: Irfan Sharif <[email protected]>

* Update CHANGELOG

Signed-off-by: Irfan Sharif <[email protected]>

* add environement var to main gh workflow

* fix sytax error and add env vars

* try reformatting workflow file

* edit test format

* move env vars to env section

* debug secrets

* test pr_checks on push

* update on workflow tag

* add check to python test

* only run main test on PR

* add more tests

* add dev branch to tests

* sort imports in tests

* add test file for testing workflow

* add pull_request_target

* move changelog test to separate file

* try checking for fork

* update main test to ignore pytest if PR is from fork

* update PR template

* Rename references (#47)

* Update refs from python_wsdb to mapepire_python

Signed-off-by: Irfan Sharif <[email protected]>

* Update mapepire_python imports to use relative paths

Signed-off-by: Irfan Sharif <[email protected]>

* Update remaining python_wsdb refs to mapepire_python

Signed-off-by: Irfan Sharif <[email protected]>

* Rename refs from python-wsdb to mapepire-python

Signed-off-by: Irfan Sharif <[email protected]>

* Formatting and linting

Signed-off-by: Irfan Sharif <[email protected]>

* Fix import error

Signed-off-by: Irfan Sharif <[email protected]>

* Update CHANGELOG

Signed-off-by: Irfan Sharif <[email protected]>

---------

Signed-off-by: Irfan Sharif <[email protected]>
Co-authored-by: Irfan Sharif <[email protected]>

* Tests/add sql tests (#48)

* add more sql tests

* ignore tests dir for linting

* update github workflow

---------

Signed-off-by: Irfan Sharif <[email protected]>
Co-authored-by: Irfan Sharif <[email protected]>
Co-authored-by: irfanshar <[email protected]>
  • Loading branch information
3 people authored Aug 23, 2024
1 parent 3a9fbf0 commit d65f75c
Show file tree
Hide file tree
Showing 35 changed files with 705 additions and 88 deletions.
8 changes: 8 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# defaults to localhost
#VITE_SERVER=localhost

# defaults to 8076
#VITE_PORT=8076

VITE_DB_USER=X
VITE_DB_PASS=X
44 changes: 22 additions & 22 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Thanks for considering contributing! Please read this document to learn the vari

### Did you find a bug?

First, do [a quick search](https://github.com/ajshedivy/python-wsdb/issues) to see whether your issue has already been reported.
First, do [a quick search](https://github.com/Mapepire-IBMi/mapepire-python/issues) to see whether your issue has already been reported.
If your issue has already been reported, please comment on the existing issue.

Otherwise, open [a new GitHub issue](https://github.com/ajshedivy/python-wsdb/issues). Be sure to include a clear title
Otherwise, open [a new GitHub issue](https://github.com/Mapepire-IBMi/mapepire-python/issues). Be sure to include a clear title
and description. The description should include as much relevant information as possible. The description should
explain how to reproduce the erroneous behavior as well as the behavior you expect to see. Ideally you would include a
code sample or an executable test case demonstrating the expected behavior.
Expand All @@ -21,7 +21,7 @@ We use GitHub issues to track feature requests. Before you create a feature requ
* Make sure you have a clear idea of the enhancement you would like. If you have a vague idea, consider discussing
it first on a GitHub issue.
* Check the documentation to make sure your feature does not already exist.
* Do [a quick search](https://github.com/ajshedivy/python-wsdb/issues) to see whether your feature has already been suggested.
* Do [a quick search](https://github.com/Mapepire-IBMi/mapepire-python/issues) to see whether your feature has already been suggested.

When creating your request, please:

Expand All @@ -41,31 +41,31 @@ When you're ready to contribute code to address an open issue, please follow the

Then clone your fork locally with

git clone https://github.com/USERNAME/python-wsdb.git
git clone https://github.com/USERNAME/mapepire-python.git

or

git clone [email protected]:USERNAME/python-wsdb.git
git clone [email protected]:USERNAME/mapepire-python.git

At this point the local clone of your fork only knows that it came from *your* repo, github.com/USERNAME/python-wsdb.git, but doesn't know anything the *main* repo, [https://github.com/ajshedivy/python-wsdb.git](https://github.com/ajshedivy/python-wsdb). You can see this by running
At this point the local clone of your fork only knows that it came from *your* repo, github.com/USERNAME/mapepire-python.git, but doesn't know anything the *main* repo, [https://github.com/Mapepire-IBMi/mapepire-python](https://github.com/Mapepire-IBMi/mapepire-python). You can see this by running

git remote -v

which will output something like this:

origin https://github.com/USERNAME/python-wsdb.git (fetch)
origin https://github.com/USERNAME/python-wsdb.git (push)
origin https://github.com/USERNAME/mapepire-python.git (fetch)
origin https://github.com/USERNAME/mapepire-python.git (push)

This means that your local clone can only track changes from your fork, but not from the main repo, and so you won't be able to keep your fork up-to-date with the main repo over time. Therefore you'll need to add another "remote" to your clone that points to [https://github.com/ajshedivy/python-wsdb.git](https://github.com/ajshedivy/python-wsdb). To do this, run the following:
This means that your local clone can only track changes from your fork, but not from the main repo, and so you won't be able to keep your fork up-to-date with the main repo over time. Therefore you'll need to add another "remote" to your clone that points to [https://github.com/Mapepire-IBMi/mapepire-python](https://github.com/Mapepire-IBMi/mapepire-python). To do this, run the following:

git remote add upstream https://github.com/ajshedivy/python-wsdb.git
git remote add upstream https://github.com/Mapepire-IBMi/mapepire-python

Now if you do `git remote -v` again, you'll see

origin https://github.com/USERNAME/python-wsdb.git (fetch)
origin https://github.com/USERNAME/python-wsdb.git (push)
upstream https://github.com/ajshedivy/python-wsdb.git (fetch)
upstream https://github.com/ajshedivy/python-wsdb.git (push)
origin https://github.com/USERNAME/mapepire-python.git (fetch)
origin https://github.com/USERNAME/mapepire-python.git (push)
upstream https://github.com/Mapepire-IBMi/mapepire-python (fetch)
upstream https://github.com/Mapepire-IBMi/mapepire-python (push)

Finally, you'll need to create a Python 3 virtual environment suitable for working on this project. There a number of tools out there that making working with virtual environments easier.
The most direct way is with the [`venv` module](https://docs.python.org/3.7/library/venv.html) in the standard library, but if you're new to Python or you don't already have a recent Python 3 version installed on your machine,
Expand All @@ -77,8 +77,8 @@ When you're ready to contribute code to address an open issue, please follow the

Then you can create and activate a new Python environment by running:

conda create -n python-wsdb python=3.9
conda activate python-wsdb
conda create -n mapepire-python python=3.9
conda activate mapepire-python

Once your virtual environment is activated, you can install your local clone in "editable mode" with

Expand All @@ -93,7 +93,7 @@ When you're ready to contribute code to address an open issue, please follow the

<details><summary>Expand details 👇</summary><br/>

Once you've added an "upstream" remote pointing to [https://github.com/allenai/python-package-temlate.git](https://github.com/ajshedivy/python-wsdb), keeping your fork up-to-date is easy:
Once you've added an "upstream" remote pointing to [https://github.com/allenai/python-package-temlate.git](https://github.com/Mapepire-IBMi/mapepire-python), keeping your fork up-to-date is easy:

git checkout main # if not already on main
git pull --rebase upstream main
Expand All @@ -119,7 +119,7 @@ When you're ready to contribute code to address an open issue, please follow the

<details><summary>Expand details 👇</summary><br/>

Our continuous integration (CI) testing runs [a number of checks](https://github.com/ajshedivy/python-wsdb/actions) for each pull request on [GitHub Actions](https://github.com/features/actions). You can run most of these tests locally, which is something you should do *before* opening a PR to help speed up the review process and make it easier for us.
Our continuous integration (CI) testing runs [a number of checks](https://github.com/Mapepire-IBMi/mapepire-python/actions) for each pull request on [GitHub Actions](https://github.com/features/actions). You can run most of these tests locally, which is something you should do *before* opening a PR to help speed up the review process and make it easier for us.

First, you should run [`isort`](https://github.com/PyCQA/isort) and [`black`](https://github.com/psf/black) to make sure you code is formatted consistently.
Many IDEs support code formatters as plugins, so you may be able to setup isort and black to run automatically everytime you save.
Expand All @@ -137,9 +137,9 @@ When you're ready to contribute code to address an open issue, please follow the

mypy .

We also strive to maintain high test coverage, so most contributions should include additions to [the unit tests](https://github.com/ajshedivy/python-wsdb/tree/main/tests). These tests are run with [`pytest`](https://docs.pytest.org/en/latest/), which you can use to locally run any test modules that you've added or changed.
We also strive to maintain high test coverage, so most contributions should include additions to [the unit tests](https://github.com/Mapepire-IBMi/mapepire-python/tree/main/tests). These tests are run with [`pytest`](https://docs.pytest.org/en/latest/), which you can use to locally run any test modules that you've added or changed.

For example, if you've fixed a bug in `python_wsdb/a/b.py`, you can run the tests specific to that module with
For example, if you've fixed a bug in `mapepire_python/a/b.py`, you can run the tests specific to that module with

pytest -v tests/a/b_test.py

Expand All @@ -152,9 +152,9 @@ When you're ready to contribute code to address an open issue, please follow the

If the build fails, it's most likely due to small formatting issues. If the error message isn't clear, feel free to comment on this in your pull request.

And finally, please update the [CHANGELOG](https://github.com/ajshedivy/python-wsdb/blob/main/CHANGELOG.md) with notes on your contribution in the "Unreleased" section at the top.
And finally, please update the [CHANGELOG](https://github.com/Mapepire-IBMi/mapepire-python/blob/main/CHANGELOG.md) with notes on your contribution in the "Unreleased" section at the top.

After all of the above checks have passed, you can now open [a new GitHub pull request](https://github.com/ajshedivy/python-wsdb/pulls).
After all of the above checks have passed, you can now open [a new GitHub pull request](https://github.com/Mapepire-IBMi/mapepire-python/pulls).
Make sure you have a clear description of the problem and the solution, and include a link to relevant issues.

We look forward to reviewing your PR!
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ body:
- type: markdown
attributes:
value: >
#### Before submitting a bug, please make sure the issue hasn't been already addressed by searching through [the existing and past issues](https://github.com/ajshedivy/python-wsdb/issues?q=is%3Aissue+sort%3Acreated-desc+).
#### Before submitting a bug, please make sure the issue hasn't been already addressed by searching through [the existing and past issues](https://github.com/Mapepire-IBMi/mapepire-python/issues?q=is%3Aissue+sort%3Acreated-desc+).
- type: textarea
attributes:
label: 🐛 Describe the bug
Expand All @@ -17,7 +17,7 @@ body:
```python
# All necessary imports at the beginning
import python_wsdb
import mapepire_python
# A succinct reproducing example trimmed down to the essential parts:
assert False is True, "Oh no!"
Expand Down
5 changes: 3 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ Changes proposed in this pull request:
## Before submitting

<!-- Please complete this checklist BEFORE submitting your PR to speed along the review process. -->
- [ ] I've read and followed all steps in the [Making a pull request](https://github.com/ajshedivy/python-wsdb/blob/main/.github/CONTRIBUTING.md#making-a-pull-request)
- [ ] Change the base branch to `dev` if it is not already.
- [ ] I've read and followed all steps in the [Making a pull request](https://github.com/Mapepire-IBMi/mapepire-python/blob/main/.github/CONTRIBUTING.md#making-a-pull-request)
section of the `CONTRIBUTING` docs.
- [ ] I've updated or added any relevant docstrings following the syntax described in the
[Writing docstrings](https://github.com/ajshedivy/python-wsdb/blob/main/.github/CONTRIBUTING.md#writing-docstrings) section of the `CONTRIBUTING` docs.
[Writing docstrings](https://github.com/Mapepire-IBMi/mapepire-python/blob/main/.github/CONTRIBUTING.md#writing-docstrings) section of the `CONTRIBUTING` docs.
- [ ] If this PR fixes a bug, I've added a test that will fail without my fix.
- [ ] If this PR adds a new feature, I've added tests that sufficiently cover my new functionality.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: PR Checks
name: ChangeLog

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -8,8 +8,7 @@ on:
pull_request:
branches:
- main
paths:
- 'python_wsdb/**'
- dev

jobs:
changelog:
Expand All @@ -27,3 +26,4 @@ jobs:
# If this step fails, this means you haven't updated the CHANGELOG.md
# file with notes on your contribution.
git diff --name-only $(git merge-base origin/main HEAD) | grep '^CHANGELOG.md$' && echo "Thanks for helping keep our CHANGELOG up-to-date!"
33 changes: 29 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@ permissions:
on:
pull_request:
branches:
- main
- "*"
push:
branches:
- main
- dev
tags:
- "v*.*.*"

Expand All @@ -28,6 +29,7 @@ jobs:
checks:
name: Python ${{ matrix.python }} - ${{ matrix.task.name }}
runs-on: [ubuntu-latest]
environment: OSSBUILD
timeout-minutes: 15
strategy:
fail-fast: false
Expand All @@ -37,12 +39,11 @@ jobs:
- name: Test
run: |
pytest -v --color=yes tests/
include:
- python: "3.10"
task:
name: Lint
run: ruff check .
run: ruff check . --exclude tests/

# - python: "3.10"
# task:
Expand Down Expand Up @@ -75,6 +76,19 @@ jobs:
python-version: ${{ matrix.python }}
cache-prefix: ${{ env.CACHE_PREFIX }}

- name: Check if PR is from a fork
id: check_fork
run: |
echo "is_fork=${{ github.event.pull_request.head.repo.fork }}" >> $GITHUB_ENV
- name: check if PR is from a fork
if: env.is_fork == 'true'
run: echo "This PR is from a fork. skipping pyest."

- name: Skip if not from fork
if: env.is_fork != 'true'
run: echo "This PR is not from a fork. Running pytest."

- name: Restore mypy cache
if: matrix.task.name == 'Type check'
uses: actions/cache@v3
Expand All @@ -85,7 +99,18 @@ jobs:
mypy-${{ env.CACHE_PREFIX }}-${{ runner.os }}-${{ matrix.python }}-${{ hashFiles('*requirements.txt') }}-${{ github.ref }}
mypy-${{ env.CACHE_PREFIX }}-${{ runner.os }}-${{ matrix.python }}-${{ hashFiles('*requirements.txt') }}
- name: Run Python tests
if: env.is_fork != 'true' && matrix.task.name == 'Test'
run: |
. .venv/bin/activate
${{ matrix.task.run }}
env:
VITE_SERVER: ${{ secrets.VITE_SERVER }}
VITE_DB_USER: ${{ secrets.VITE_DB_USER }}
VITE_DB_PASS: ${{ secrets.VITE_DB_PASS }}

- name: ${{ matrix.task.name }}
if: matrix.task.name != 'Test'
run: |
. .venv/bin/activate
${{ matrix.task.run }}
Expand All @@ -101,7 +126,7 @@ jobs:
if: always()
run: |
. .venv/bin/activate
pip uninstall -y python-wsdb
pip uninstall -y mapepire-python
release:
name: Release
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@ __pycache__
.coverage
.pytest_cache/
.benchmarks
*.env
*.ini

# documentation build artifacts

docs/build
site/

4 changes: 1 addition & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
default_language_version:
python: python3.8

repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.1
hooks:
- id: ruff
types: [python]
exclude: ^tests/

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.9.0
Expand Down
13 changes: 10 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

## [v0.1.2](https://github.com/ajshedivy/python-wsdb/releases/tag/v0.1.2) - 2024-04-22
## [v0.1.4] - 2025-08-09
Rename references from python_wsdb and python-wsdb to mapepire_python and mapepire-python

## [v0.1.1](https://github.com/ajshedivy/python-wsdb/releases/tag/v0.1.1) - 2024-04-19
## [v0.1.3] - 2025-08-02
Add workflow to run test suite on PR's
Update requirements-dev.txt to include isort, black, ruff, mypy

## [v0.1.0](https://github.com/ajshedivy/python-wsdb/releases/tag/v0.1.0) - 2024-04-19
## [v0.1.2](https://github.com/Mapepire-IBMi/mapepire-python/releases/tag/v0.1.2) - 2024-04-22

## [v0.1.1](https://github.com/Mapepire-IBMi/mapepire-python/releases/tag/v0.1.1) - 2024-04-19

## [v0.1.0](https://github.com/Mapepire-IBMi/mapepire-python/releases/tag/v0.1.0) - 2024-04-19
Add initial release

## [0.1.2]
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
.PHONY : docs
docs :
rm -rf docs/build/
sphinx-autobuild -b html --watch python_wsdb/ docs/source/ docs/build/
sphinx-autobuild -b html --watch mapepire_python/ docs/source/ docs/build/

.PHONY : run-checks
run-checks :
isort --check .
black --check .
ruff check .
mypy .
CUDA_VISIBLE_DEVICES='' pytest -v --color=yes --doctest-modules tests/ python_wsdb/
CUDA_VISIBLE_DEVICES='' pytest -v --color=yes --doctest-modules tests/ mapepire_python/

.PHONY : build
build :
Expand Down
Loading

0 comments on commit d65f75c

Please sign in to comment.