openintel


Nameopenintel JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryA comprehensive tool to detect technology stacks used by websites
upload_time2025-07-26 20:03:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords competitive-intelligence mixrank technology-detection web-scraping
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OpenIntel

A comprehensive Python package for detecting and analyzing technology stacks used by websites. Perfect for competitive intelligence, lead generation, and market research.

## Features

- **Comprehensive Detection**: Identifies 50+ technologies across multiple categories
- **Fast Async Processing**: Concurrent analysis of multiple websites
- **Detailed Analysis**: Confidence scoring and evidence collection
- **Trend Analysis**: Track technology adoption over time
- **CLI Interface**: Easy command-line usage
- **API Ready**: Use as a library in your Python projects

## Categories Detected

- Frontend Frameworks (React, Vue.js, Angular)
- JavaScript Libraries (jQuery, Lodash)
- CSS Frameworks (Bootstrap, Tailwind CSS)
- Analytics (Google Analytics, Facebook Pixel)
- CDNs (Cloudflare, Amazon CloudFront)
- CMS (WordPress, Drupal)
- E-commerce (Shopify, WooCommerce)
- Backend Technologies (Apache, Nginx, Express.js)
- And many more...

## Installation

```bash
pip install openintel
```

## Quick Start

### Command Line Usage

```bash
# Analyze a single website
openintel example.com

# Analyze multiple websites from file
openintel --file urls.txt --format json --output results.json

# Analyze with custom timeout
openintel example.com --timeout 60
```

### Python API Usage

```python
import asyncio
from openintel import TechStackDetector, TechStackAnalyzer

async def main():
    # Basic detection
    async with TechStackDetector() as detector:
        result = await detector.detect("https://example.com")
        
        print(f"Found {len(result.technologies)} technologies")
        for tech in result.technologies:
            print(f"- {tech.name} ({tech.confidence:.2f})")
    
    # Advanced analysis
    analyzer = TechStackAnalyzer()
    analyzer.add_result(result)
    
    # Get technology scoring
    scores = analyzer.score_tech_stack(result)
    print(f"Overall tech stack score: {scores['overall_score']}/10")

asyncio.run(main())
```

## API Reference

### TechStackDetector

Main detection class with async context manager support.

```python
async with TechStackDetector(timeout=30) as detector:
    result = await detector.detect(url)
```

### DetectionResult

Contains comprehensive analysis results:

```python
class DetectionResult:
    url: str
    timestamp: datetime
    technologies: List[DetectedTech]
    total_score: float
    response_time: float
    errors: List[str]
    raw_data: Dict[str, Any]
```

### TechStackAnalyzer

Advanced analysis and trend tracking:

```python
analyzer = TechStackAnalyzer()
trends = analyzer.get_technology_trends(days=30)
scores = analyzer.score_tech_stack(result)
```

## Detection Methods

The detector uses multiple techniques:

1. **HTML Pattern Matching**: Searches for framework-specific patterns
2. **JavaScript Analysis**: Identifies libraries and frameworks
3. **HTTP Headers**: Analyzes server and security headers
4. **Meta Tags**: Extracts generator and other meta information
5. **Script Sources**: Identifies external libraries and CDNs
6. **DNS Analysis**: Checks for hosting and CDN providers

## Example Output

```json
{
  "url": "https://example.com",
  "timestamp": "2024-01-15T10:30:00",
  "technologies": [
    {
      "name": "React",
      "category": "frontend_framework",
      "confidence": 0.95,
      "version": "18.2.0",
      "evidence": ["HTML pattern: _react", "Script: react.min.js"]
    },
    {
      "name": "Cloudflare",
      "category": "cdn",
      "confidence": 0.98,
      "evidence": ["Header server: cloudflare"]
    }
  ],
  "total_score": 15.7,
  "response_time": 2.34
}
```

## Advanced Features

### Batch Processing

```python
urls = ["site1.com", "site2.com", "site3.com"]
async with TechStackDetector() as detector:
    tasks = [detector.detect(url) for url in urls]
    results = await asyncio.gather(*tasks)
```

### Custom Signatures

Extend detection capabilities by adding custom technology signatures:

```python
from openintel.models import TechSignature, TechCategory

custom_sig = TechSignature(
    name="Custom Framework",
    category=TechCategory.FRONTEND_FRAMEWORK,
    patterns={"html": [r"custom-framework"]},
    confidence_score=0.9
)
```

### Trend Analysis

```python
analyzer = TechStackAnalyzer()
for result in results:
    analyzer.add_result(result)

trends = analyzer.get_technology_trends(days=30)
print(f"Most popular: {trends['top_technologies'][0]}")
```

## Performance

- **Concurrent Processing**: Analyze multiple sites simultaneously
- **Async Operations**: Non-blocking I/O for maximum efficiency
- **Intelligent Caching**: Reduces redundant requests
- **Configurable Timeouts**: Prevent hanging requests

## Use Cases

- **Competitive Intelligence**: Analyze competitor tech stacks
- **Lead Generation**: Identify prospects using specific technologies
- **Market Research**: Track technology adoption trends
- **Security Auditing**: Identify outdated or vulnerable technologies
- **Sales Intelligence**: Tailor pitches based on prospect's tech stack

## Contributing

1. Fork the repository
2. Create a feature branch
3. Add tests for new functionality
4. Ensure all tests pass
5. Submit a pull request

## License

MIT License - see LICENSE file for details.

## Support

- GitHub Issues: Report bugs and request features
- Documentation: Full API documentation available
- Examples: Check the examples/ directory

## Changelog

### v1.0.0
- Initial release
- 50+ technology signatures
- Async detection engine
- CLI interface
- Trend analysis capabilities
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "openintel",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "competitive-intelligence, mixrank, technology-detection, web-scraping",
    "author": null,
    "author_email": "Devanshu Singh <devanshukumar45@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/83/14/5ea618b392febb03630bcd04194a827f47c2954d84476601b72dc157e52b/openintel-1.0.0.tar.gz",
    "platform": null,
    "description": "# OpenIntel\n\nA comprehensive Python package for detecting and analyzing technology stacks used by websites. Perfect for competitive intelligence, lead generation, and market research.\n\n## Features\n\n- **Comprehensive Detection**: Identifies 50+ technologies across multiple categories\n- **Fast Async Processing**: Concurrent analysis of multiple websites\n- **Detailed Analysis**: Confidence scoring and evidence collection\n- **Trend Analysis**: Track technology adoption over time\n- **CLI Interface**: Easy command-line usage\n- **API Ready**: Use as a library in your Python projects\n\n## Categories Detected\n\n- Frontend Frameworks (React, Vue.js, Angular)\n- JavaScript Libraries (jQuery, Lodash)\n- CSS Frameworks (Bootstrap, Tailwind CSS)\n- Analytics (Google Analytics, Facebook Pixel)\n- CDNs (Cloudflare, Amazon CloudFront)\n- CMS (WordPress, Drupal)\n- E-commerce (Shopify, WooCommerce)\n- Backend Technologies (Apache, Nginx, Express.js)\n- And many more...\n\n## Installation\n\n```bash\npip install openintel\n```\n\n## Quick Start\n\n### Command Line Usage\n\n```bash\n# Analyze a single website\nopenintel example.com\n\n# Analyze multiple websites from file\nopenintel --file urls.txt --format json --output results.json\n\n# Analyze with custom timeout\nopenintel example.com --timeout 60\n```\n\n### Python API Usage\n\n```python\nimport asyncio\nfrom openintel import TechStackDetector, TechStackAnalyzer\n\nasync def main():\n    # Basic detection\n    async with TechStackDetector() as detector:\n        result = await detector.detect(\"https://example.com\")\n        \n        print(f\"Found {len(result.technologies)} technologies\")\n        for tech in result.technologies:\n            print(f\"- {tech.name} ({tech.confidence:.2f})\")\n    \n    # Advanced analysis\n    analyzer = TechStackAnalyzer()\n    analyzer.add_result(result)\n    \n    # Get technology scoring\n    scores = analyzer.score_tech_stack(result)\n    print(f\"Overall tech stack score: {scores['overall_score']}/10\")\n\nasyncio.run(main())\n```\n\n## API Reference\n\n### TechStackDetector\n\nMain detection class with async context manager support.\n\n```python\nasync with TechStackDetector(timeout=30) as detector:\n    result = await detector.detect(url)\n```\n\n### DetectionResult\n\nContains comprehensive analysis results:\n\n```python\nclass DetectionResult:\n    url: str\n    timestamp: datetime\n    technologies: List[DetectedTech]\n    total_score: float\n    response_time: float\n    errors: List[str]\n    raw_data: Dict[str, Any]\n```\n\n### TechStackAnalyzer\n\nAdvanced analysis and trend tracking:\n\n```python\nanalyzer = TechStackAnalyzer()\ntrends = analyzer.get_technology_trends(days=30)\nscores = analyzer.score_tech_stack(result)\n```\n\n## Detection Methods\n\nThe detector uses multiple techniques:\n\n1. **HTML Pattern Matching**: Searches for framework-specific patterns\n2. **JavaScript Analysis**: Identifies libraries and frameworks\n3. **HTTP Headers**: Analyzes server and security headers\n4. **Meta Tags**: Extracts generator and other meta information\n5. **Script Sources**: Identifies external libraries and CDNs\n6. **DNS Analysis**: Checks for hosting and CDN providers\n\n## Example Output\n\n```json\n{\n  \"url\": \"https://example.com\",\n  \"timestamp\": \"2024-01-15T10:30:00\",\n  \"technologies\": [\n    {\n      \"name\": \"React\",\n      \"category\": \"frontend_framework\",\n      \"confidence\": 0.95,\n      \"version\": \"18.2.0\",\n      \"evidence\": [\"HTML pattern: _react\", \"Script: react.min.js\"]\n    },\n    {\n      \"name\": \"Cloudflare\",\n      \"category\": \"cdn\",\n      \"confidence\": 0.98,\n      \"evidence\": [\"Header server: cloudflare\"]\n    }\n  ],\n  \"total_score\": 15.7,\n  \"response_time\": 2.34\n}\n```\n\n## Advanced Features\n\n### Batch Processing\n\n```python\nurls = [\"site1.com\", \"site2.com\", \"site3.com\"]\nasync with TechStackDetector() as detector:\n    tasks = [detector.detect(url) for url in urls]\n    results = await asyncio.gather(*tasks)\n```\n\n### Custom Signatures\n\nExtend detection capabilities by adding custom technology signatures:\n\n```python\nfrom openintel.models import TechSignature, TechCategory\n\ncustom_sig = TechSignature(\n    name=\"Custom Framework\",\n    category=TechCategory.FRONTEND_FRAMEWORK,\n    patterns={\"html\": [r\"custom-framework\"]},\n    confidence_score=0.9\n)\n```\n\n### Trend Analysis\n\n```python\nanalyzer = TechStackAnalyzer()\nfor result in results:\n    analyzer.add_result(result)\n\ntrends = analyzer.get_technology_trends(days=30)\nprint(f\"Most popular: {trends['top_technologies'][0]}\")\n```\n\n## Performance\n\n- **Concurrent Processing**: Analyze multiple sites simultaneously\n- **Async Operations**: Non-blocking I/O for maximum efficiency\n- **Intelligent Caching**: Reduces redundant requests\n- **Configurable Timeouts**: Prevent hanging requests\n\n## Use Cases\n\n- **Competitive Intelligence**: Analyze competitor tech stacks\n- **Lead Generation**: Identify prospects using specific technologies\n- **Market Research**: Track technology adoption trends\n- **Security Auditing**: Identify outdated or vulnerable technologies\n- **Sales Intelligence**: Tailor pitches based on prospect's tech stack\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Add tests for new functionality\n4. Ensure all tests pass\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Support\n\n- GitHub Issues: Report bugs and request features\n- Documentation: Full API documentation available\n- Examples: Check the examples/ directory\n\n## Changelog\n\n### v1.0.0\n- Initial release\n- 50+ technology signatures\n- Async detection engine\n- CLI interface\n- Trend analysis capabilities",
    "bugtrack_url": null,
    "license": null,
    "summary": "A comprehensive tool to detect technology stacks used by websites",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/Devanshusisodiya/openintel",
        "Issues": "https://github.com/Devanshusisodiya/openintel/issues",
        "Repository": "https://github.com/Devanshusisodiya/openintel"
    },
    "split_keywords": [
        "competitive-intelligence",
        " mixrank",
        " technology-detection",
        " web-scraping"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8bf8808a7472404badd50e5512fa82c8a9c22f54d68aca5a06df0d54da19717",
                "md5": "108729b2adb76a5100b09365b7c1be36",
                "sha256": "4aa02b6ab40a20cdca04e37efcfd9180c84344f66ae6e756ec90977f9b9a4f1e"
            },
            "downloads": -1,
            "filename": "openintel-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "108729b2adb76a5100b09365b7c1be36",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14373,
            "upload_time": "2025-07-26T20:03:29",
            "upload_time_iso_8601": "2025-07-26T20:03:29.092410Z",
            "url": "https://files.pythonhosted.org/packages/e8/bf/8808a7472404badd50e5512fa82c8a9c22f54d68aca5a06df0d54da19717/openintel-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83145ea618b392febb03630bcd04194a827f47c2954d84476601b72dc157e52b",
                "md5": "f3aa17f8c294eddb91563d9100e9f79c",
                "sha256": "03cb3196056ffad9b06c67a97205023117a2e10a686d61f15fadd25c845f9716"
            },
            "downloads": -1,
            "filename": "openintel-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f3aa17f8c294eddb91563d9100e9f79c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 154600,
            "upload_time": "2025-07-26T20:03:32",
            "upload_time_iso_8601": "2025-07-26T20:03:32.115390Z",
            "url": "https://files.pythonhosted.org/packages/83/14/5ea618b392febb03630bcd04194a827f47c2954d84476601b72dc157e52b/openintel-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-26 20:03:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Devanshusisodiya",
    "github_project": "openintel",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "openintel"
}
        
Elapsed time: 1.32611s