Skip to content

Conversation

Shirashoji
Copy link
Member

This pull request removes the centrality suggestion feature from the backend of the NetworkXMCP system. Specifically, it deletes the API endpoint and related data model for suggesting centrality measures based on user queries.

Backend feature removal:

  • Removed the CentralitySuggestionParams Pydantic model from NetworkXMCP/main.py, which was previously used to handle user queries for centrality suggestions.
  • Deleted the /tools/suggest_centrality POST API endpoint from NetworkXMCP/main.py, including its logic for importing and calling suggest_centrality_from_query.

Documentation update:

  • Deleted the entire 修正結果.md file, which included a detailed summary of previous frontend and backend changes, integration test results, and bug fixes related to GraphML file handling.

Removed the CentralitySuggestionParams model and the associated
/tools/suggest_centrality endpoint that was used to recommend
centrality measures based on user queries.
Deleted two documentation files that were tracking system modifications:
- 修正結果.md (Correction Results)
- 修正計画.md (Correction Plan)

These planning documents are no longer needed as the changes have been implemented.
…onversion

This change modifies the `convert_to_standard_graphml` function in `NetworkXMCP`.

When a GraphML file is uploaded and processed, this function now calculates multiple centrality measures (degree, closeness, betweenness, and eigenvector) and embeds them as node attributes within the GraphML file.

This pre-calculation avoids the need for repeated computations when switching between different centrality views on the frontend, improving performance.
@Shirashoji Shirashoji requested a review from Copilot September 16, 2025 07:47
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request removes the centrality suggestion feature from the NetworkXMCP backend system and deletes documentation files. The changes focus on simplifying the codebase by removing an unused API endpoint and its associated data model.

  • Removed centrality suggestion API endpoint and data model from NetworkXMCP backend
  • Deleted comprehensive documentation files containing system modification results and plans

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
修正計画.md Complete deletion of system modification plan documentation
修正結果.md Complete deletion of system modification results documentation
NetworkXMCP/main.py Removed centrality suggestion API endpoint and data model

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8001)
Copy link

Copilot AI Sep 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The server is configured to bind to all interfaces (0.0.0.0) which could expose the service to external networks. Consider using 127.0.0.1 or localhost for development, or ensure proper firewall configuration for production.

Suggested change
uvicorn.run(app, host="0.0.0.0", port=8001)
uvicorn.run(app, host="127.0.0.1", port=8001)

Copilot uses AI. Check for mistakes.

- Implemented a graph creation module for generating random networks.
- Developed a GraphML parser to read and fix GraphML structures.
- Created a GraphML converter for standardizing and exporting GraphML data.
- Added a network analysis module to compute various network metrics and centrality measures.
- Introduced a test script to validate the functionality of the modules with output logging.
- Documented all modules and functions with appropriate docstrings.
- Ensured robust error handling and logging throughout the codebase.
docs: Update README to enhance setup instructions for Docker and local environment
- Add comprehensive AGENTS.md guide for AI-assisted development
  - Document Docker Compose V2 command syntax (docker compose vs docker-compose)
  - Explain project structure and main components (API, frontend, NetworkXMCP)
  - Provide development workflow guidelines and best practices
  - Include coding standards and error handling patterns

- Improve code documentation in frontend store
  - Replace Japanese comments with English for better accessibility
  - Simplify loadSampleNetwork implementation to prevent infinite loops
  - Remove redundant state verification code
  - Clean up verbose logging statements

This change enhances developer onboarding and code maintainability by providing clear documentation for AI-assisted development workflows and standardizing code comments to English.
feat(docker): improve Dockerfile and update dependencies

- Enhance .dockerignore with comprehensive exclusion patterns for Python, testing, IDE, OS, and documentation files
- Migrate to official uv Python base image (ghcr.io/astral-sh/uv:python3.12-bookworm-slim)
- Add non-root user (uid/gid 999) for improved security
- Implement multi-stage dependency installation with layer caching optimization
- Enable bytecode compilation and copy link mode for better performance
- Separate dependency installation from project installation for optimal caching
- Update uv.lock with latest package versions and dependency resolution

These changes improve build performance, security, and follow Docker best practices for Python applications using uv package manager.
Add comprehensive Docker optimization setup and development guides:

- Add .dockerignore to exclude unnecessary files from build context
- Create BUILD_OPTIMIZATION.md with multi-stage build and caching strategies
- Add QUICK_START.md with development workflow and build time guidelines
- Remove unused dependencies (python-dotenv, python-multipart) from NetworkXMCP
- Document dependency analysis and optimization recommendations

These changes significantly improve Docker build times (from 10-20min initial to 10-30s cached builds) and streamline the development workflow by leveraging build cache mounts, layer caching, and hot-reload capabilities.
ビルドには時間かかるかもだけどね。

feat(docker): simplify Dockerfile and add python-multipart dependency

- Simplified API Dockerfile by removing non-root user setup and multi-stage caching
- Changed to direct uv installation from official image
- Added --reload flag for development hot-reloading
- Added python-multipart dependency to support file uploads
- Updated .gitignore to exclude local development artifacts (.pids/, logs/, .venv/)

This change prioritizes Docker-based development workflow over local execution.
The simplified build process may take longer but provides better reliability
for containerized deployments.
Remove automated setup/start/stop shell scripts and their associated documentation from README. Simplify the non-Docker setup section by keeping only manual setup instructions. Also clean up unused npm dependencies (lightningcss, detect-libc, jiti) from frontend package-lock.json that were likely peer dependencies of removed tooling.

This streamlines the documentation and reduces maintenance overhead by focusing on Docker-based development workflow.
refactor: remove Docker-less setup scripts and documentation

Remove automated setup/start/stop shell scripts and their associated documentation from README. Simplify the non-Docker setup section by keeping only manual setup instructions. Also clean up unused npm dependencies (lightningcss, detect-libc, jiti) from frontend package-lock.json that were likely peer dependencies of removed tooling.

This streamlines the documentation and reduces maintenance overhead by focusing on Docker-based development workflow.
refactor: remove Docker-less setup scripts and documentation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant