I was converting the /pep/demo/{namespace}/projects endpoint to use the latest pepdbagent changes:
@router.get("/projects", summary="Fetch all projects inside a particular namespace.")
async def get_namespace_projects(
namespace: str, db: Connection = Depends(get_db), limit: int = 100
):
"""Fetch the projects for a particular namespace"""
projects = db.get_projects_in_namespace(namespace)
if limit:
return JSONResponse(content={p.name: p.to_dict() for p in projects[:limit]})
else:
return JSONResponse(content=projects)
I get this error when calling db.get_projects_in_namespace():
pephub-server-1 | File "/app/./pephub/routers/namespace.py", line 43, in get_namespace_projects
pephub-server-1 | projects = db.get_projects_in_namespace(namespace)
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/pepdbagent/pepdbagent.py", line 340, in get_projects_in_namespace
pephub-server-1 | return [peppy.Project().from_dict(p[1]) for p in results]
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/pepdbagent/pepdbagent.py", line 340, in <listcomp>
pephub-server-1 | return [peppy.Project().from_dict(p[1]) for p in results]
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/peppy/project.py", line 279, in from_dict
pephub-server-1 | self.create_samples(modify=False if self[SAMPLE_TABLE_FILE_KEY] else True)
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/peppy/project.py", line 319, in create_samples
pephub-server-1 | self.modify_samples()
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/peppy/project.py", line 495, in modify_samples
pephub-server-1 | self._assert_samples_have_names()
pephub-server-1 | File "/usr/local/lib/python3.8/site-packages/peppy/project.py", line 615, in _assert_samples_have_names
pephub-server-1 | raise InvalidSampleTableFileException(message)
pephub-server-1 | peppy.exceptions.InvalidSampleTableFileException: sample_table is missing 'sample_name' column; you must specify sample_tables in sample_name or derive them
I was converting the
/pep/demo/{namespace}/projects
endpoint to use the latestpepdbagent
changes:I get this error when calling
db.get_projects_in_namespace()
: