For easier debugging, I have recreated everything and added all the tasks logs:
 bash pypi.sh                   
+ pulp python repository create --name local-pypi
{
  "pulp_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/",
  "prn": "prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
  "pulp_created": "2025-01-20T14:34:14.356597Z",
  "pulp_last_updated": "2025-01-20T14:34:14.371397Z",
  "versions_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/",
  "pulp_labels": {},
  "latest_version_href": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/0/",
  "name": "local-pypi",
  "description": null,
  "retain_repo_versions": null,
  "remote": null,
  "autopublish": false
}
+ pulp python remote create --name remote-pypi --url https://pypi.org/ --includes '["shelf-reader", "django", "flask", "flask-app", "requests", "hvac", "vault"]' --policy immediate
{
  "pulp_href": "/pulp/api/v3/remotes/python/python/01948422-b712-72d7-8caf-e8b7875de617/",
  "prn": "prn:python.pythonremote:01948422-b712-72d7-8caf-e8b7875de617",
  "pulp_created": "2025-01-20T14:34:15.189345Z",
  "pulp_last_updated": "2025-01-20T14:34:15.189396Z",
  "name": "remote-pypi",
  "url": "https://pypi.org/",
  "ca_cert": null,
  "client_cert": null,
  "tls_validation": true,
  "proxy_url": null,
  "pulp_labels": {},
  "download_concurrency": null,
  "max_retries": null,
  "policy": "immediate",
  "total_timeout": null,
  "connect_timeout": null,
  "sock_connect_timeout": null,
  "sock_read_timeout": null,
  "headers": null,
  "rate_limit": null,
  "hidden_fields": [
    {
      "name": "client_key",
      "is_set": false
    },
    {
      "name": "proxy_username",
      "is_set": false
    },
    {
      "name": "proxy_password",
      "is_set": false
    },
    {
      "name": "username",
      "is_set": false
    },
    {
      "name": "password",
      "is_set": false
    }
  ],
  "includes": [
    "shelf-reader",
    "django",
    "flask",
    "flask-app",
    "requests",
    "hvac",
    "vault"
  ],
  "excludes": [],
  "prereleases": true,
  "package_types": [],
  "keep_latest_packages": 0,
  "exclude_platforms": []
}
+ pulp python repository update --name local-pypi --remote remote-pypi
Started background task /pulp/api/v3/tasks/01948422-c0a6-7019-8c8b-d47b786af6a6/
Done.
+ pulp python repository sync --name local-pypi --remote remote-pypi
Started background task /pulp/api/v3/tasks/01948422-d0b2-7b25-bc67-dc33c03d8cfb/
............................................................................................................................................................................................................................................................................................................Done.
+ pulp python publication create --repository local-pypi
Started background task /pulp/api/v3/tasks/0194842a-ab70-7cc9-b89b-5c7d359f91f0/
.Done.
{
  "pulp_href": "/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/",
  "prn": "prn:python.pythonpublication:0194842a-ad22-720d-afd4-14eadee2bfbf",
  "pulp_created": "2025-01-20T14:42:56.932004Z",
  "pulp_last_updated": "2025-01-20T14:42:57.889983Z",
  "repository_version": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/1/",
  "repository": "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/",
  "distributions": []
}
++ pulp python publication list
++ jq -r '.[0].pulp_href'
+ PUBLICATION_HREF=/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/
+ pulp python distribution create --name local-pypi-distro --base-path local-pypi --publication /pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/
Started background task /pulp/api/v3/tasks/0194842a-bbab-72e9-b2c5-dbc300cfffca/
.Done.
{
  "pulp_href": "/pulp/api/v3/distributions/python/pypi/0194842a-be1e-7dbf-bc71-024e7a53f531/",
  "prn": "prn:python.pythondistribution:0194842a-be1e-7dbf-bc71-024e7a53f531",
  "pulp_created": "2025-01-20T14:43:01.280237Z",
  "pulp_last_updated": "2025-01-20T14:43:01.280257Z",
  "base_path": "local-pypi",
  "base_url": "https://pulp-api-74cd9b5b87-czpnf/pypi/local-pypi/",
  "content_guard": null,
  "no_content_change_since": "2025-01-20T14:43:01.280257Z",
  "hidden": false,
  "pulp_labels": {},
  "name": "local-pypi-distro",
  "repository": null,
  "publication": "/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/",
  "allow_uploads": true,
  "remote": null
}
+ pulp python repository update --name local-pypi --autopublish
Started background task /pulp/api/v3/tasks/0194842a-cae8-7af8-9640-612948e7c929/
Done.
+ pulp python distribution update --name local-pypi-distro --remote remote-pypi
Started background task /pulp/api/v3/tasks/0194842a-d69e-7e35-9c87-77a00d858ce6/
Done.
(packages) ilyak@ilyak-mac-xm45 Desktop % pulp task list
[
  {
    "pulp_href": "/pulp/api/v3/tasks/0194842a-d69e-7e35-9c87-77a00d858ce6/",
    "prn": "prn:core.task:0194842a-d69e-7e35-9c87-77a00d858ce6",
    "pulp_created": "2025-01-20T14:43:07.551189Z",
    "pulp_last_updated": "2025-01-20T14:43:07.551209Z",
    "state": "completed",
    "name": "pulpcore.app.tasks.base.general_update",
    "logging_cid": "26ff407ad66d42b28fb60ddb0ee9d702",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:43:07.723305Z",
    "started_at": "2025-01-20T14:43:07.731101Z",
    "finished_at": "2025-01-20T14:43:07.937118Z",
    "error": null,
    "worker": null,
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [],
    "reserved_resources_record": [
      "pdrn:0194841f-adb7-73af-b814-1e4c69c83896:distributions",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/0194842a-cae8-7af8-9640-612948e7c929/",
    "prn": "prn:core.task:0194842a-cae8-7af8-9640-612948e7c929",
    "pulp_created": "2025-01-20T14:43:04.553558Z",
    "pulp_last_updated": "2025-01-20T14:43:04.553579Z",
    "state": "completed",
    "name": "pulpcore.app.tasks.base.general_update",
    "logging_cid": "790e46ac67914059afefab132cf8ef13",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:43:04.578436Z",
    "started_at": "2025-01-20T14:43:04.588247Z",
    "finished_at": "2025-01-20T14:43:04.760399Z",
    "error": null,
    "worker": null,
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [],
    "reserved_resources_record": [
      "prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/0194842a-bbab-72e9-b2c5-dbc300cfffca/",
    "prn": "prn:core.task:0194842a-bbab-72e9-b2c5-dbc300cfffca",
    "pulp_created": "2025-01-20T14:43:00.652033Z",
    "pulp_last_updated": "2025-01-20T14:43:00.652051Z",
    "state": "completed",
    "name": "pulpcore.app.tasks.base.general_create",
    "logging_cid": "80564ab31ae24fdea089dff317aa936b",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:43:00.832413Z",
    "started_at": "2025-01-20T14:43:00.935249Z",
    "finished_at": "2025-01-20T14:43:01.376576Z",
    "error": null,
    "worker": "/pulp/api/v3/workers/01948422-38a7-7d52-880f-78c7b814c547/",
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [
      "/pulp/api/v3/distributions/python/pypi/0194842a-be1e-7dbf-bc71-024e7a53f531/"
    ],
    "reserved_resources_record": [
      "pdrn:0194841f-adb7-73af-b814-1e4c69c83896:distributions",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/0194842a-ab70-7cc9-b89b-5c7d359f91f0/",
    "prn": "prn:core.task:0194842a-ab70-7cc9-b89b-5c7d359f91f0",
    "pulp_created": "2025-01-20T14:42:56.497465Z",
    "pulp_last_updated": "2025-01-20T14:42:56.497527Z",
    "state": "completed",
    "name": "pulp_python.app.tasks.publish.publish",
    "logging_cid": "244aa4b7cf4b40d398ea23fd7d74bd8d",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:42:56.711447Z",
    "started_at": "2025-01-20T14:42:56.799826Z",
    "finished_at": "2025-01-20T14:42:57.907669Z",
    "error": null,
    "worker": "/pulp/api/v3/workers/01948422-30eb-7901-9a2e-69bc8966a326/",
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [
      "/pulp/api/v3/publications/python/pypi/0194842a-ad22-720d-afd4-14eadee2bfbf/"
    ],
    "reserved_resources_record": [
      "shared:prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/01948422-d0b2-7b25-bc67-dc33c03d8cfb/",
    "prn": "prn:core.task:01948422-d0b2-7b25-bc67-dc33c03d8cfb",
    "pulp_created": "2025-01-20T14:34:21.747010Z",
    "pulp_last_updated": "2025-01-20T14:34:21.747032Z",
    "state": "completed",
    "name": "pulp_python.app.tasks.sync.sync",
    "logging_cid": "04cd3b30f0fb4ae9951f8568e2a28a66",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:34:21.947087Z",
    "started_at": "2025-01-20T14:34:22.066788Z",
    "finished_at": "2025-01-20T14:42:54.301025Z",
    "error": null,
    "worker": "/pulp/api/v3/workers/01948422-38a7-7d52-880f-78c7b814c547/",
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [
      {
        "message": "Downloading Artifacts",
        "code": "sync.downloading.artifacts",
        "state": "completed",
        "total": null,
        "done": 1309,
        "suffix": null
      },
      {
        "message": "Associating Content",
        "code": "associating.content",
        "state": "completed",
        "total": null,
        "done": 1309,
        "suffix": null
      },
      {
        "message": "Fetching Project Metadata",
        "code": "sync.fetching.project",
        "state": "completed",
        "total": null,
        "done": 7,
        "suffix": null
      }
    ],
    "created_resources": [
      "/pulp/api/v3/repositories/python/python/01948422-b3d2-7b55-b342-d4f8d8344295/versions/1/"
    ],
    "reserved_resources_record": [
      "prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
      "shared:prn:python.pythonremote:01948422-b712-72d7-8caf-e8b7875de617",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/01948422-c0a6-7019-8c8b-d47b786af6a6/",
    "prn": "prn:core.task:01948422-c0a6-7019-8c8b-d47b786af6a6",
    "pulp_created": "2025-01-20T14:34:17.639974Z",
    "pulp_last_updated": "2025-01-20T14:34:17.639991Z",
    "state": "completed",
    "name": "pulpcore.app.tasks.base.general_update",
    "logging_cid": "236e9627b28f4b598f9d1b5978836d6a",
    "created_by": "/pulp/api/v3/users/1/",
    "unblocked_at": "2025-01-20T14:34:17.677234Z",
    "started_at": "2025-01-20T14:34:17.702687Z",
    "finished_at": "2025-01-20T14:34:17.880272Z",
    "error": null,
    "worker": null,
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [],
    "reserved_resources_record": [
      "prn:python.pythonrepository:01948422-b3d2-7b55-b342-d4f8d8344295",
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  },
  {
    "pulp_href": "/pulp/api/v3/tasks/01948422-58d7-70d4-964f-3bbe4aa40f8e/",
    "prn": "prn:core.task:01948422-58d7-70d4-964f-3bbe4aa40f8e",
    "pulp_created": "2025-01-20T14:33:51.064516Z",
    "pulp_last_updated": "2025-01-20T14:33:51.064530Z",
    "state": "completed",
    "name": "pulpcore.app.tasks.analytics.post_analytics",
    "logging_cid": "09cea94a396a4236991467a743a716bd",
    "created_by": null,
    "unblocked_at": "2025-01-20T14:33:51.099436Z",
    "started_at": "2025-01-20T14:33:51.341761Z",
    "finished_at": "2025-01-20T14:33:52.472780Z",
    "error": null,
    "worker": "/pulp/api/v3/workers/01948422-30eb-7901-9a2e-69bc8966a326/",
    "parent_task": null,
    "child_tasks": [],
    "task_group": null,
    "progress_reports": [],
    "created_resources": [],
    "reserved_resources_record": [
      "shared:prn:core.domain:0194841f-adb7-73af-b814-1e4c69c83896"
    ]
  }
]
(packages) ilyak@ilyak-mac-xm45 Desktop % pulp python content list --field 'filename,artifact' 
Not all 1309 entries were shown.
[
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-d892-7ea1-a602-1a839e11a047/",
    "filename": "Django-4.1.5.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-5869-7499-bbf0-83250d31f1ce/",
    "filename": "Django-5.0.6.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-ab81-7699-82b1-e0db5c094665/",
    "filename": "Django-4.0rc1.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-2ec9-7d61-9e90-5e8a198cdf69/",
    "filename": "Django-4.2rc1-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-3cd9-703e-83a3-c880001b6bc7/",
    "filename": "Django-3.0.12.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-0a29-7d2a-82cb-1b4b4c41fb47/",
    "filename": "Django-4.2.14.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-61aa-7eaa-a7a4-851254e2bf51/",
    "filename": "Django-5.0b1-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948427-de8d-799f-9e5d-bdd0f41af2af/",
    "filename": "Django-2.2.8-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-d231-78a4-984a-7b83eca821d1/",
    "filename": "Django-3.1.8.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-1312-75d8-87c1-39d3964b748b/",
    "filename": "Django-4.2.3-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-8fb2-76f3-b59e-8f513075b7a8/",
    "filename": "Django-4.0.5.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-ffbb-78b5-a492-4fefb2fc9f88/",
    "filename": "Django-3.2.15.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-5f83-7b6d-80f0-95dd37cdbee8/",
    "filename": "Django-3.2.8.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-7046-7c44-a0c9-f78e64ffcbb4/",
    "filename": "Django-3.2a1.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-bf30-7cd0-a8db-4078fe0b1538/",
    "filename": "Django-3.1.9-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-3bdd-7da7-9fcf-bb7ab3990f4e/",
    "filename": "Django-5.0.1-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-d9a9-7aa3-a4c0-18f6b89deaf8/",
    "filename": "Django-4.1.7-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-623f-725f-84a1-52fae5fd4410/",
    "filename": "Django-3.2.6.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-5e64-722b-a596-5dc9f62f49bd/",
    "filename": "Django-5.0.9-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-569a-75e1-b46d-75cf3d341bec/",
    "filename": "Django-5.0.7-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-754b-7540-8ab4-57ef0694603c/",
    "filename": "Django-5.1.2-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-bd44-702d-bc62-dfaa9436ea0f/",
    "filename": "Django-3.1.5-py3-none-any.whl"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948428-a9c8-74f5-88cf-9e0c0c065d08/",
    "filename": "Django-3.1.4.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/0194842a-8a2b-7656-b0cd-2488c1d20648/",
    "filename": "Django-5.2a1.tar.gz"
  },
  {
    "artifact": "/pulp/api/v3/artifacts/01948429-efa8-744d-9f94-b9e147dce947/",
    "filename": "Django-4.1b1.tar.gz"
  }
]
When I try to install the library directly from the content lib it works, but it seems that there’s problem with the publication & distribution (simple indexing)
pip3 install http://pulp-web-svc.pulp-operator.svc.cluster.local:24880/pulp/content/local-pypi/vault-1.2.10-py3-none-any.whl 
Downloading ...
But when I am trying to install with pip3 -i and package name, I receive:
pip3 install --index-url http://localhost:24880/pulp/content/local-pypi/ vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pulp/content/local-pypi/
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
pip3 install --index-url http://localhost:24880/pulp/content/local-pypi/simple vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pulp/content/local-pypi/simple
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
pip3 install --index-url http://localhost:24880/pypi/local-pypi/simple vault --trusted-host=localhost
Looking in indexes: http://localhost:24880/pypi/local-pypi/simple
ERROR: Could not find a version that satisfies the requirement vault (from versions: none)
ERROR: No matching distribution found for vault
[notice] A new release of pip is available: 24.0 -> 24.3.1
[notice] To update, run: pip install --upgrade pip