Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
f6c209a
deps: Add `motor` 4.x compatibility.
alexandervaneck-paige Apr 30, 2024
cd74004
test: Rename `setup()` to `setup_method()` to execute for every TestC…
alexandervaneck-paige Apr 30, 2024
f382410
style: assert type with `is` instead of `==`.
alexandervaneck-paige Apr 30, 2024
fe968f7
test: Assert `Deferred` instead of potential Attribute error.
alexandervaneck-paige Apr 30, 2024
8d755cb
test: Add pymongo 3.x and pymongo 4.x to test matrix
alexandervaneck-paige Apr 30, 2024
90dbee7
Umongo upgrade to python 3.12
Sep 19, 2025
7c6bed7
Remove .idea files and update setup.py
Sep 19, 2025
bf60648
Remove .idea files and update setup.py
Sep 19, 2025
97c09cd
Use GH actions for CI
lafrech Sep 19, 2025
48c76dc
feat: upgrade umongo for Python 3.12 compatibility
Sep 20, 2025
d0eb17b
fix: address reviewer comments on Python 3.12 upgrade
Sep 20, 2025
a92d9f0
Merge remote-tracking branch 'origin/ci-test' into sanjusci-feature-u…
Sep 20, 2025
6eef253
fix: python 3.9 test errors
Sep 21, 2025
3525c61
fix: python 3.9 test errors
Sep 21, 2025
2335820
Merge pull request #392 from sanjusci/sanjusci-feature-upgrade_p3.12
lafrech Sep 21, 2025
639b829
Follow-up to PR #392
lafrech Sep 21, 2025
d7b4e2c
Support Python 3.9 -> 3.13
lafrech Sep 21, 2025
eb5c3b6
Merge pull request #393 from Scille/py39-313
lafrech Sep 21, 2025
8192080
Rename branch master -> main
lafrech Sep 21, 2025
6f4dad1
Fix setup.py: python_requires 3.9
lafrech Sep 21, 2025
12e4961
Use pyproject.toml, pre-commit, ruff
lafrech Sep 21, 2025
9133125
Merge pull request #394 from Scille/pyproject-pre-commit
lafrech Sep 21, 2025
9854702
Remove constants from __init__.py
lafrech Sep 21, 2025
94f53a2
Merge pull request #395 from Scille/init_constants
lafrech Sep 21, 2025
e942c74
Update CHANGELOG
lafrech Sep 21, 2025
5d4e826
Use pre-commit CI
lafrech Sep 21, 2025
4b3902e
Merge pull request #396 from Scille/pre_commit_ci
lafrech Sep 21, 2025
f05d056
Build docs in CI
lafrech Sep 21, 2025
a9db19b
Merge pull request #397 from Scille/build_docs_in_ci
lafrech Sep 21, 2025
5600686
Remove bumpversion config
lafrech Sep 21, 2025
d1bad6a
Remove makefiles, update RELEASING.rst
lafrech Sep 21, 2025
e8a82a3
Update CONTRIBUTING.rst
lafrech Sep 21, 2025
f37c5b1
Add dependabot.yml
lafrech Sep 21, 2025
7cc6612
Support marshmallow 4
lafrech Sep 21, 2025
8520b9f
Merge pull request #400 from Scille/ma4
lafrech Sep 21, 2025
eb84bc8
Require MA 3.26 and fix warnings
lafrech Sep 21, 2025
80f2023
Merge pull request #401 from Scille/ma4_warnings
lafrech Sep 21, 2025
c0e9222
Update CHANGELOG
lafrech Sep 21, 2025
14365d1
Add .readthedocs.yml
lafrech Sep 21, 2025
6851da3
Remove outdated versions from README.rst
lafrech Sep 21, 2025
3fefdaa
Update CHANGELOG
lafrech Sep 21, 2025
310ea2f
Bump version: 3.1.0 → 4.0.0b1
lafrech Sep 21, 2025
1c09f7b
Bump actions/setup-python from 5 to 6
dependabot[bot] Sep 21, 2025
5dafac9
Send coverage reports to Codecov
lafrech Sep 22, 2025
3d98858
Merge pull request #405 from Scille/codecov
lafrech Sep 22, 2025
9adeb5d
Drop Python 3.9
lafrech Sep 22, 2025
7665ecb
Drop Motor 2
lafrech Sep 22, 2025
57cdd27
Merge pull request #406 from Scille/drop_py39
lafrech Sep 22, 2025
f299dcb
Update CHANGELOG
lafrech Sep 22, 2025
1c2d5cc
Update CHANGELOG
lafrech Sep 22, 2025
210a6b9
Bump version: 4.0.0b1 → 4.0.0b2
lafrech Sep 22, 2025
a601e4a
Add note in README.rst about marshmallow OpenCollective
lafrech Sep 22, 2025
5e0b769
Merge pull request #407 from Scille/opencollective
lafrech Sep 23, 2025
c64e75b
Drop marshmallow 3
lafrech Oct 1, 2025
d222eaf
Merge pull request #408 from Scille/drop_ma3
lafrech Oct 1, 2025
29f74fc
Update CHANGELOG
lafrech Oct 1, 2025
8294546
Bump version: 4.0.0b2 → 4.0.0b3
lafrech Oct 1, 2025
25796ae
Fix ruff errors
lafrech Oct 5, 2025
663e9d2
Merge pull request #409 from Scille/ruff_fixes
lafrech Oct 5, 2025
97359d5
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 6, 2025
ab3e32c
Reenable ruff B026
lafrech Oct 6, 2025
b9aef0e
Reenable ruff INT001
lafrech Oct 6, 2025
e3ebc69
Reenable ruff UP031
lafrech Oct 6, 2025
a58fb45
Give up on ruff PLW1641
lafrech Oct 6, 2025
55969e0
Merge pull request #411 from Scille/ruff_fixes
lafrech Oct 6, 2025
b4e522a
Move code into src/ dir
lafrech Oct 6, 2025
60217f9
Merge pull request #412 from Scille/mv_src
lafrech Oct 6, 2025
df13cfb
Update RELEASING.rst and i18n files
lafrech Oct 6, 2025
51a494c
Update CHANGELOG
lafrech Oct 6, 2025
f0417c4
Bump version: 4.0.0b3 → 4.0.0b4
lafrech Oct 6, 2025
717ecec
Fix PyPI link in build-release.yml
lafrech Oct 6, 2025
ae010cc
Bump actions/download-artifact from 5 to 6
dependabot[bot] Nov 1, 2025
185e6dc
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Nov 1, 2025
6dd2ce4
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Nov 3, 2025
17892ad
Bump actions/checkout from 5 to 6
dependabot[bot] Dec 1, 2025
144a634
Bump supercharge/mongodb-github-action from 1.12.0 to 1.12.1
dependabot[bot] Dec 1, 2025
6f5475f
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Dec 1, 2025
bd5673d
Initial plan
Copilot Feb 11, 2026
42f3fb0
Merge upstream/main from Scille/umongo into copilot/merge-code-from-s…
Copilot Feb 11, 2026
ecc3f67
Remove old build files and umongo directory (replaced by src/umongo)
Copilot Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: monthly
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: monthly
98 changes: 98 additions & 0 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: build
on:
push:
branches: ["main"]
tags: ["*"]
pull_request:

jobs:
docs:
name: docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.13"
- run: pip install tox
- run: tox -e docs
tests:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { name: "3.10-pymongo3", python: "3.10", tox: py310-pymongo3 }
- { name: "3.13-pymongo4", python: "3.13", tox: py313-pymongo4 }
- { name: "3.10-motor", python: "3.10", tox: py310-motor }
- { name: "3.13-motor", python: "3.13", tox: py313-motor }
- { name: "3.10-txmongo", python: "3.10", tox: py310-txmongo }
- { name: "3.13-txmongo", python: "3.13", tox: py313-txmongo }
steps:
- uses: actions/checkout@v6
- name: Start MongoDB
uses: supercharge/mongodb-github-action@1.12.1
with:
mongodb-version: 8.0
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- run: python -m pip install tox
- run: python -m tox -e ${{ matrix.tox }}
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
build:
name: Build package
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: Install pypa/build
run: python -m pip install build
- name: Build a binary wheel and a source tarball
run: python -m build
- name: Install twine
run: python -m pip install twine
- name: Check build
run: python -m twine check --strict dist/*
- name: Store the distribution packages
uses: actions/upload-artifact@v5
with:
name: python-package-distributions
path: dist/
# this duplicates pre-commit.ci, so only run it on tags
# it guarantees that linting is passing prior to a release
lint-pre-release:
if: startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: "3.13"
- run: python -m pip install tox
- run: python -m tox -e lint
publish-to-pypi:
name: PyPI release
if: startsWith(github.ref, 'refs/tags/')
needs: [lint-pre-release, build, tests]
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/umongo
permissions:
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v6
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
13 changes: 13 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ci:
autoupdate_schedule: monthly
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
hooks:
- id: ruff-check
- id: ruff-format
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.35.0
hooks:
- id: check-github-workflows
- id: check-readthedocs
15 changes: 15 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: 2
sphinx:
configuration: docs/conf.py
formats:
- pdf
build:
os: ubuntu-22.04
tools:
python: "3.13"
python:
install:
- method: pip
path: .
extra_requirements:
- docs
1 change: 1 addition & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ Contributors
* Attila Kóbor `@atti92 <https://github.com/atti92>`_
* Denis Moskalets `@denya <https://github.com/denya>`_
* Phil Chiu `@whophil <https://github.com/whophil>`_
* sanju sci `@sanjusci <https://github.com/sanjusci>`_
50 changes: 47 additions & 3 deletions HISTORY.rst → CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,50 @@
=======
History
=======
=========
Changelog
=========

4.0.0b4 (2025-10-07)
--------------------

Features:

* *Backwards-incompatible*: ``find_one`` methods don't accept ``*args`` anymore (#411).

4.0.0b3 (2025-10-02)
--------------------

Other:

* Drop marshmallow 3 (#408)

4.0.0b2 (2025-09-22)
--------------------

Other:

* Drop motor 2 (#406)
* Require Python 3.10 (#406)

4.0.0b1 (2025-09-21)
--------------------

Features:

* Support pymongo 4 (#392)
* Support motor 3 (#392)
* Support marshmallow 4 (#400)
* *Backwards-incompatible*: ``missing`` and ``default`` attributes are no longer
used in umongo fields, only ``dump_default`` and ``load_default`` are used.
``marshmallow_load_default`` and ``marshmallow_dump_default`` attributes may
be used to overwrite the values to use in the pure marshmallow field returned
by ``as_marshmallow_field`` method. (#392)

Other:

* *Backwards-incompatible*: Remove ``__version__``, ``__author__`` and
``__email__`` from umongo.__init__.py (#395).
* Require marshmallow >=3.26 (#401)
* Support Python up to 3.13 (#392)
* Drop Python 3.7 and 3.8 (#393)

3.1.0 (2021-12-23)
------------------
Expand Down
45 changes: 11 additions & 34 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Get Started!
Ready to contribute? Here's how to set up `umongo` for local development.

1. Fork the `umongo` repo on GitHub.

2. Clone your fork locally::

$ git clone git@github.com:your_name_here/umongo.git
Expand All @@ -68,51 +69,30 @@ Ready to contribute? Here's how to set up `umongo` for local development.

$ mkvirtualenv umongo
$ cd umongo/
$ python setup.py develop
$ pip install -e .[dev]

4. Create a branch for local development::
4. Install the pre-commit hooks, which will format and lint your git staged files::

$ git checkout -b name-of-your-bugfix-or-feature
$ pre-commit install

Now you can make your changes locally.
5. Create a branch for local development::

5. When you're done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox::
$ git checkout -b name-of-your-bugfix-or-feature

$ flake8 umongo
$ py.test tests
$ tox
Now you can make your changes locally. Please add necessary feature or non-regression tests.

To get flake8, pytest and tox, just pip install them into your virtualenv.
5. When you're done making changes, check that your changes pass tests::

.. note:: You need pytest>=2.8
$ pytest

6. Commit your changes and push your branch to GitHub::

$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature
$ git commit -m "Detailed description of your changes."
$ git push -u origin name-of-your-bugfix-or-feature

7. Submit a pull request through the GitHub website.

I18n
----

There are additional steps to make changes involving translated strings.

1. Extract translatable strings from the code into messages.pot::

$ make extract_messages

2. Update flask example translation files::

$ make update_flask_example_messages

3. Update/fix translations

4. Compile new binary translation files::

$ make compile_flask_example_messages

Pull Request Guidelines
-----------------------

Expand All @@ -122,6 +102,3 @@ Before you submit a pull request, check that it meets these guidelines:
2. If the pull request adds functionality, the docs should be updated. Put
your new functionality into a function with a docstring, and add the
feature to the list in README.rst.
3. The pull request should work for Python 3.7 and 3.8. Check
https://travis-ci.org/touilleMan/umongo/pull_requests
and make sure that the tests pass for all supported Python versions.
11 changes: 0 additions & 11 deletions MANIFEST.in

This file was deleted.

99 changes: 0 additions & 99 deletions Makefile

This file was deleted.

Loading