Skip to content

Add Local Paper Search Tool with Streamlit Interface#7

Merged
jingyangcarl merged 6 commits into
papercopilot:mainfrom
hhh2210:main
Mar 10, 2025
Merged

Add Local Paper Search Tool with Streamlit Interface#7
jingyangcarl merged 6 commits into
papercopilot:mainfrom
hhh2210:main

Conversation

@hhh2210
Copy link
Copy Markdown
Contributor

@hhh2210 hhh2210 commented Feb 18, 2025

Thanks for your great open source work on the papercopilot project!

I recently used the keyword search feature on the papercopilot website and noticed that it places a significant burden on the server, resulting in slow response times, unresponsiveness, and lag. Out of concern for these performance issues and a desire to improve the user experience, I have created this pull request.

PR Description

This PR adds a local paper search tool that provides a more efficient way to search and filter conference papers. The tool includes both a web interface (using Streamlit) and command-line functionality.

Key Features

  • Fast local paper searching and filtering
  • Multiple field search support
  • Status-based filtering
  • Results download in JSON format
  • User-friendly web interface
  • Command-line support
  • Directory and multi-conference search capabilities
  • Source tracking for search results

Changes

  • Added app.py for Streamlit interface
  • Updated extract.py for enhanced functionality and directory support
  • Added config.py for configuration management
  • Updated requirements.txt
  • Updated README.md with new features and usage instructions
  • Updated .gitignore

This tool helps reduce server load by allowing users to perform searches locally while maintaining all the functionality of the web version. It also introduces new features like directory search and multi-conference analysis.

The changes have been thoroughly tested and adhere to the existing coding style and best practices. I believe these enhancements will greatly benefit users and contribute to the overall success of the papercopilot project.

Please let me know if you have any questions or feedback regarding this PR. I'm open to discussion and further improvements.

Thank you for considering this contribution!

@jingyangcarl
Copy link
Copy Markdown
Contributor

Hi @hhh2210,

I really appreciate this feature—it looks fantastic and super useful! I tested it on my end and noticed a minor path issue. I'll quickly review your logic and get back to you soon. Again, this is an awesome PR, and I'll proceed with merging it afterward. I'll keep you posted.

Best,
Jing

@hhh2210
Copy link
Copy Markdown
Contributor Author

hhh2210 commented Feb 19, 2025

Thanks! I really appreciate you catching this edge case with the command line input.

The path issue occurs when providing the input file path via the command line, specifically when attempting to enter a list of lists (LOL) data structure. To address this, I made the following changes:

  1. In the README file, I added a cd tools step in the "Command Line" section to ensure users are running the script from the correct directory.

  2. I added a check in the load_data function to handle the case where the input file path is a list:
    Please let me know if you have any other suggestions or feedback! I'm happy to make further improvements.
    Thanks again!

refactor the search function, now support multiple search terms
@hhh2210
Copy link
Copy Markdown
Contributor Author

hhh2210 commented Mar 10, 2025

NEW UPDATE!

This version is now optimized for smooth performance. I've shared it with my professor and senior colleagues, and they were very impressed!

Changes:

Removed config.py.
Refactored search function to support multiple search terms.

@jingyangcarl
Copy link
Copy Markdown
Contributor

jingyangcarl commented Mar 10, 2025

Hi @hhh2210,

I just reviewed your latest updates and tested them locally—everything works perfectly! It's a really cool feature. I'll proceed with merging it.

Thanks for your contribution. Looking forward to discussing and collaborating with you further.

Best,
Jing

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.

2 participants