Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,20 @@ gpt_engineer/benchmark/benchmarks/mbpp/dataset
gpt_engineer/benchmark/minimal_bench_config.toml

test.json
[tool.poetry.dependencies]
python = "^3.10"
rudder-sdk-python = ">=2.0.2"
black = "23.3.0"
datasets = ">=2.17.1,<3.0.0"
openai = ">=1.0,<2.0"
pillow = ">=10.2.0,<11.0.0"
toml = ">=0.10.2"
regex = ">=2023.12.25,<2024.0.0"
langchain-openai = ">=0.1.22"
dataclasses-json = "0.5.7"
typer = ">=0.3.2"
langchain-community = ">=0.2.0,<0.3.0"
tiktoken = ">=0.0.4"
python-dotenv = ">=0.21.0"
pyperclip = ">=1.8.2,<1.9.0"
setuptools = ">=45.0,<66.0"
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,21 @@ gpt-engineer is [governed](https://github.com/gpt-engineer-org/gpt-engineer/blob


https://github.com/gpt-engineer-org/gpt-engineer/assets/4467025/40d0a9a8-82d0-4432-9376-136df0d57c99



### 6. Update README.md

Add a troubleshooting section to **`README.md`**:

```markdown
## Troubleshooting

### Installation Error: `canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'`

If you encounter this error during installation, it's due to compatibility issues with setuptools and pyperclip.

**Quick fix:**
```bash
pip install "setuptools<66.0" "pyperclip==1.8.2"
pip install gpt-engineer
20 changes: 20 additions & 0 deletions scripts/install_fixed.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Write-Host "Fixing pyperclip installation issue for gpt-engineer..." -ForegroundColor Green

# Update pip to latest version
Write-Host "Upgrading pip..."
python -m pip install --upgrade pip

# Install compatible setuptools version first
Write-Host "Installing compatible setuptools version..."
python -m pip install "setuptools>=45.0,<66.0"

# Install pyperclip 1.8.2 specifically to avoid canonicalize_version error
Write-Host "Installing pyperclip 1.8.2..."
python -m pip install "pyperclip>=1.8.2,<1.9.0"

# Install gpt-engineer in development mode
Write-Host "Installing gpt-engineer..."
python -m pip install -e .

Write-Host "✅ Installation completed successfully!" -ForegroundColor Green
Write-Host "You can now run: gpte projects/example"
22 changes: 22 additions & 0 deletions scripts/install_fixed.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash

echo "Fixing pyperclip installation issue for gpt-engineer..."

# Update pip to latest version
echo "Upgrading pip..."
pip install --upgrade pip

# Install compatible setuptools version first
echo "Installing compatible setuptools version..."
pip install "setuptools>=45.0,<66.0"

# Install pyperclip 1.8.2 specifically to avoid canonicalize_version error
echo "Installing pyperclip 1.8.2..."
pip install "pyperclip>=1.8.2,<1.9.0"

# Install gpt-engineer in development mode
echo "Installing gpt-engineer..."
pip install -e .

echo "✅ Installation completed successfully!"
echo "You can now run: gpte projects/example"
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import phonenumbers
from phonenumbers import geocoder, carrier

def get_phone_info(phone_number):
"""
Get location and carrier information for a phone number.

Args:
phone_number (str): Phone number in international format (e.g., "+923000087356")

Returns:
dict: Dictionary containing phone number details
"""
try:
# Parse phone number
parsed_number = phonenumbers.parse(phone_number)

# Validate phone number
if not phonenumbers.is_valid_number(parsed_number):
return {
"phone_number": phone_number,
"valid": False,
"error": "Invalid phone number"
}

# Get location
location = geocoder.description_for_number(parsed_number, "en")

# Get carrier
service_provider = carrier.name_for_number(parsed_number, "en")

# Return results
return {
"phone_number": phone_number,
"valid": True,
"location": location if location else "Unknown",
"service_provider": service_provider if service_provider else "Unknown",
"country_code": parsed_number.country_code,
"national_number": parsed_number.national_number
}

except phonenumbers.phonenumberutil.NumberParseException as e:
return {
"phone_number": phone_number,
"valid": False,
"error": str(e)
}

if __name__ == "__main__":
# Example usage
phone_number = "+923000087356"

result = get_phone_info(phone_number)

# Output results
print(f"Phone Number: {result['phone_number']}")
if result['valid']:
print(f"Location: {result['location']}")
print(f"Service Provider: {result['service_provider']}")
print(f"Country Code: +{result['country_code']}")
print(f"National Number: {result['national_number']}")
else:
print(f"Error: {result['error']}")
Loading