Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into any aiohttp applications.
This is an open-source Python package for creating Chatbots based on Langchain and Navigator. This README provides instructions for installation, development, testing, and releasing Parrot.
Creating a virtual environment:
This is recommended for development and isolation from system-wide libraries. Run the following command in your terminal:
Debian-based systems installation:
sudo apt install gcc python3.11-venv python3.11-full python3.11-dev libmemcached-dev zlib1g-dev build-essential libffi-dev unixodbc unixodbc-dev libsqliteodbc libev4 libev-dev
For Qdrant installation:
docker pull qdrant/qdrant
docker run -d -p 6333:6333 -p 6334:6334 --name qdrant -v $(pwd)/qdrant_storage:/qdrant/storage:z qdrant/qdrant
For VertexAI, creates a folder on "env" called "google" and copy the JSON credentials file into it.
make venv
This will create a virtual environment named .venv
. To activate it, run:
source .venv/bin/activate # Linux/macOS
Once activated, install Parrot within the virtual environment:
make install
The output will remind you to activate the virtual environment before development.
Optional (for developers):
pip install -e .
python run.py
This section explains how to set up your development environment:
Install development requirements:
make setup
This installs development dependencies like linters and test runners mentioned in the docs/requirements-dev.txt
file.
Install Parrot in editable mode:
This allows you to make changes to the code and test them without reinstalling:
make dev
This uses flit
to install Parrot in editable mode.
Once you have set up your development environment, you can start using Parrot.
Set environment variables for: [google] GOOGLE_API_KEY=apikey GOOGLE_CREDENTIALS_FILE=.../credentials.json VERTEX_PROJECT_ID=vertex-project VERTEX_REGION=region
Run the chatbot:
python examples/test_agent.py
To run the test suite:
make test
This will run tests using coverage
to report on code coverage.
To format the code with black:
make format
To lint the code for style and potential errors:
make lint
This uses pylint
and black
to check for issues.
This section outlines the steps for releasing a new version of Parrot:
Ensure everything is clean and tested:
make release
This runs lint
, test
, and clean
tasks before proceeding.
Publish the package:
make release
This uses flit
to publish the package to a repository like PyPI. You'll need to have publishing credentials configured for flit
.
To remove the virtual environment:
make distclean
We welcome contributions to Parrot! Please refer to the CONTRIBUTING.md file for guidelines on how to contribute.
FAQs
Live Chatbots based on Langchain chatbots and Agents Integrated into Navigator Framework or used into any aiohttp applications.
We found that ai-parrot demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.