[GH-ISSUE #1702] 0.8.6rc3: PydanticUserError: AptProvider is not fully defined #4032

Closed
opened 2026-03-15 01:21:06 +03:00 by kerem · 6 comments
Owner

Originally created by @rain0r on GitHub (Oct 13, 2025).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1702

Originally assigned to: @pirate on GitHub.

Provide a screenshot and describe the bug

Tried to set up a dev environment and did as described here: https://github.com/ArchiveBox/ArchiveBox#archivebox-development

I chose option A, installing every dependency on my machine.

Steps to reproduce

git clone --recurse-submodules https://github.com/ArchiveBox/ArchiveBox
cd ArchiveBox
git checkout dev  # or the branch you want to test
git submodule update --init --recursive
git pull --recurse-submodules
# Install ArchiveBox + python dependencies

./bin/lock_pkgs.sh         # (aka `uv venv; uv sync;` + generate requirements.txt)

source .venv/bin/activate

# Install ArchiveBox runtime dependencies
mkdir -p data && cd data
archivebox install         # on >=v0.8.5 (otherwise `archivebox setup`)

Logs or errors

Error in sys.excepthook:
Traceback (most recent call last):
  File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 1008, in __getattr__
    return self.__pydantic_private__[item]  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 1023, in __getattr__
    return super().__getattribute__(item)  # Raises AttributeError if appropriate
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'AptProvider' object has no attribute '__pydantic_private__'. Did you mean: '__pydantic_complete__'?

Original exception was:
Traceback (most recent call last):
  File "/Users/rain0r/develop/ArchiveBox/.venv/bin/archivebox", line 4, in <module>
    from archivebox.cli import main
  File "/Users/rain0r/develop/ArchiveBox/archivebox/__init__.py", line 81, in <module>
    ABX_ECOSYSTEM_PLUGINS = abx.get_pip_installed_plugins(group='abx')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/archivebox/pkgs/abx/abx.py", line 428, in get_pip_installed_plugins
    DETECTED_PLUGINS[entrypoint.name] = Path(entrypoint.load().__file__).parent
                                             ^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 221, in load
    module = import_module(self.module)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/.local/share/uv/python/cpython-3.11.13-macos-aarch64-none/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/archivebox/pkgs/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py", line 12, in <module>
    apt = APT_BINPROVIDER = AptProvider()
                            ^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 250, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/_internal/_mock_val_ser.py", line 100, in __getattr__
    raise PydanticUserError(self._error_message, code=self._code)
pydantic.errors.PydanticUserError: `AptProvider` is not fully defined; you should define `BinProviderOverrides`, then call `AptProvider.model_rebuild()`.

For further information visit https://errors.pydantic.dev/2.12/u/class-not-fully-defined

ArchiveBox Version

0.8.6rc3

How did you install the version of ArchiveBox you are using?

pip

What operating system are you running on?

macOS (including Docker on macOS)

What type of drive are you using to store your ArchiveBox data?

  • some of data/ is on a local SSD or NVMe drive
  • some of data/ is on a spinning hard drive or external USB drive
  • some of data/ is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.)
  • some of data/ is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.)

Docker Compose Configuration


ArchiveBox Configuration


Originally created by @rain0r on GitHub (Oct 13, 2025). Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1702 Originally assigned to: @pirate on GitHub. ### Provide a screenshot and describe the bug Tried to set up a dev environment and did as described here: https://github.com/ArchiveBox/ArchiveBox#archivebox-development I chose option A, installing every dependency on my machine. ### Steps to reproduce ```markdown git clone --recurse-submodules https://github.com/ArchiveBox/ArchiveBox cd ArchiveBox git checkout dev # or the branch you want to test git submodule update --init --recursive git pull --recurse-submodules # Install ArchiveBox + python dependencies ./bin/lock_pkgs.sh # (aka `uv venv; uv sync;` + generate requirements.txt) source .venv/bin/activate # Install ArchiveBox runtime dependencies mkdir -p data && cd data archivebox install # on >=v0.8.5 (otherwise `archivebox setup`) ``` ### Logs or errors ```shell Error in sys.excepthook: Traceback (most recent call last): File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 1008, in __getattr__ return self.__pydantic_private__[item] # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 1023, in __getattr__ return super().__getattribute__(item) # Raises AttributeError if appropriate ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'AptProvider' object has no attribute '__pydantic_private__'. Did you mean: '__pydantic_complete__'? Original exception was: Traceback (most recent call last): File "/Users/rain0r/develop/ArchiveBox/.venv/bin/archivebox", line 4, in <module> from archivebox.cli import main File "/Users/rain0r/develop/ArchiveBox/archivebox/__init__.py", line 81, in <module> ABX_ECOSYSTEM_PLUGINS = abx.get_pip_installed_plugins(group='abx') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/archivebox/pkgs/abx/abx.py", line 428, in get_pip_installed_plugins DETECTED_PLUGINS[entrypoint.name] = Path(entrypoint.load().__file__).parent ^^^^^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/importlib_metadata/__init__.py", line 221, in load module = import_module(self.module) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rain0r/.local/share/uv/python/cpython-3.11.13-macos-aarch64-none/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/archivebox/pkgs/abx-plugin-default-binproviders/abx_plugin_default_binproviders.py", line 12, in <module> apt = APT_BINPROVIDER = AptProvider() ^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/main.py", line 250, in __init__ validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/rain0r/develop/ArchiveBox/.venv/lib/python3.11/site-packages/pydantic/_internal/_mock_val_ser.py", line 100, in __getattr__ raise PydanticUserError(self._error_message, code=self._code) pydantic.errors.PydanticUserError: `AptProvider` is not fully defined; you should define `BinProviderOverrides`, then call `AptProvider.model_rebuild()`. For further information visit https://errors.pydantic.dev/2.12/u/class-not-fully-defined ``` ### ArchiveBox Version ```shell 0.8.6rc3 ``` ### How did you install the version of ArchiveBox you are using? pip ### What operating system are you running on? macOS (including Docker on macOS) ### What type of drive are you using to store your ArchiveBox data? - [ ] some of `data/` is on a local SSD or NVMe drive - [ ] some of `data/` is on a spinning hard drive or external USB drive - [ ] some of `data/` is on a network mount (e.g. NFS/SMB/Ceph/GlusterFS/etc.) - [ ] some of `data/` is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/Google Drive/Dropbox/etc.) ### Docker Compose Configuration ```shell ``` ### ArchiveBox Configuration ```shell ```
kerem closed this issue 2026-03-15 01:21:11 +03:00
Author
Owner

@pirate commented on GitHub (Oct 13, 2025):

rc3 is very old and not supported, use at least 0.8.5rc51 if you want to try the betas

<!-- gh-comment-id:3399259498 --> @pirate commented on GitHub (Oct 13, 2025): rc3 is very old and not supported, use at least `0.8.5rc51` if you want to try the betas
Author
Owner

@rain0r commented on GitHub (Oct 14, 2025):

Thank you for the reply - the error doesn't appear on 0.8.5rc53.

Is there a reason the HEAD of the dev branch points to version 0.8.6rc3 and not to the newest rc?

Also, is the newest rc version the place to start hacking?

<!-- gh-comment-id:3401167162 --> @rain0r commented on GitHub (Oct 14, 2025): Thank you for the reply - the error doesn't appear on `0.8.5rc53`. Is there a reason the `HEAD` of the `dev` branch points to version `0.8.6rc3` and not to the newest rc? Also, is the newest rc version the place to start hacking?
Author
Owner

@pirate commented on GitHub (Oct 18, 2025):

my apolgies I read your original post way too fast. 0.8.6rc3 is indeed the latest code, I misread it as 0.8.5rc3 which was an old rc beta. dev is the place to start hacking but it's a bit of a mess right now, there's stuff I'm tearing out before it gets released: ABID, pluggy, and some other parts that are overbuilt.

<!-- gh-comment-id:3418661566 --> @pirate commented on GitHub (Oct 18, 2025): my apolgies I read your original post way too fast. 0.8.6rc3 is indeed the latest code, I misread it as 0.8.5rc3 which was an old rc beta. `dev` is the place to start hacking but it's a bit of a mess right now, there's stuff I'm tearing out before it gets released: ABID, pluggy, and some other parts that are overbuilt.
Author
Owner

@rain0r commented on GitHub (Oct 23, 2025):

Yes, I tried to set up a local environment to hack around but I couldn't get past the error.
On further inspection it looks like there's something missing in the ArchiveBox/abx-pkg package.

<!-- gh-comment-id:3438490156 --> @rain0r commented on GitHub (Oct 23, 2025): Yes, I tried to set up a local environment to hack around but I couldn't get past the error. On further inspection it looks like there's something missing in the `ArchiveBox/abx-pkg` package.
Author
Owner

@dasj19 commented on GitHub (Nov 25, 2025):

Hello @rain0r and @pirate, I took the latest code in the dev branch and spent several hours fixing errors with the aid of copilot.
I got to a point where the following works:

<!-- gh-comment-id:3577850111 --> @dasj19 commented on GitHub (Nov 25, 2025): Hello @rain0r and @pirate, I took the latest code in the dev branch and spent several hours fixing errors with the aid of copilot. I got to a point where the following works: * archivebox init * archivebox server * opening frontend and backend in browser There are definately still more errors to fix, as I have not explored everything If anyone wants to pickup or follow, you are more than welcome to do it. Setup a development environment https://github.com/ArchiveBox/ArchiveBox#archivebox-development and use this branch: https://github.com/dasj19/ArchiveBox/tree/zero-eight-six-rc4 I guess the right place to ask questions or raise issues about the development would be on my fork. I hope I'll get to something more usable as I need the software to administer my own archive.
Author
Owner

@pirate commented on GitHub (Dec 29, 2025):

fixed on dev, dev has tons of changes now and I'm targeting a 0.9.0 release eventually

<!-- gh-comment-id:3697590200 --> @pirate commented on GitHub (Dec 29, 2025): fixed on dev, dev has tons of changes now and I'm targeting a 0.9.0 release eventually
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#4032
No description provided.