{"id":37070875,"url":"https://github.com/ysskrishna/social-links","last_synced_at":"2026-02-21T08:14:53.518Z","repository":{"id":329716869,"uuid":"1111109061","full_name":"ysskrishna/social-links","owner":"ysskrishna","description":"A lightweight, zero-dependency Python library for detecting, validating, and sanitizing social media profile URLs. Supports 50+ platforms out of the box with automatic URL normalization, username extraction, and customizable regex patterns for extensibility.","archived":false,"fork":false,"pushed_at":"2026-01-05T17:12:02.000Z","size":588,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-14T10:17:29.756Z","etag":null,"topics":["hacktoberfest","library","profile-detection","pypi","pypi-package","pytest","python","regex","social-media","social-platform","url-parser","url-validation","uv","ysskrishna"],"latest_commit_sha":null,"homepage":"https://ysskrishna.github.io/social-links/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysskrishna.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ysskrishna","patreon":"ysskrishna"}},"created_at":"2025-12-06T09:38:41.000Z","updated_at":"2026-01-05T17:11:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ysskrishna/social-links","commit_stats":null,"previous_names":["ysskrishna/social-links"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ysskrishna/social-links","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2Fsocial-links","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2Fsocial-links/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2Fsocial-links/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2Fsocial-links/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysskrishna","download_url":"https://codeload.github.com/ysskrishna/social-links/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysskrishna%2Fsocial-links/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29677199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T06:23:40.028Z","status":"ssl_error","status_checked_at":"2026-02-21T06:23:39.222Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","library","profile-detection","pypi","pypi-package","pytest","python","regex","social-media","social-platform","url-parser","url-validation","uv","ysskrishna"],"created_at":"2026-01-14T08:16:45.642Z","updated_at":"2026-02-21T08:14:53.512Z","avatar_url":"https://github.com/ysskrishna.png","language":"Python","funding_links":["https://github.com/sponsors/ysskrishna","https://patreon.com/ysskrishna","https://patreon.com"],"categories":[],"sub_categories":[],"readme":"# Social Links\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Tests](https://github.com/ysskrishna/social-links/actions/workflows/test.yml/badge.svg)\n![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)\n[![PyPI](https://img.shields.io/pypi/v/social-links)](https://pypi.org/project/social-links/)\n[![PyPI Downloads](https://static.pepy.tech/personalized-badge/social-links?period=total\u0026units=INTERNATIONAL_SYSTEM\u0026left_color=GREY\u0026right_color=BLUE\u0026left_text=downloads)](https://pepy.tech/projects/social-links)\n[![Documentation](https://img.shields.io/badge/docs-ysskrishna.github.io%2Fsocial--links-blue.svg)](https://ysskrishna.github.io/social-links/)\n[![Interactive Demo](https://img.shields.io/badge/demo-Try%20it%20now!-green.svg)](https://ysskrishna.github.io/social-links/demo/)\n\nPython library to validate, sanitize, and detect social media URLs. Support for LinkedIn, Instagram, TikTok, X/Twitter, GitHub, Facebook, YouTube, and 65+ platforms. Features automatic URL normalization and zero dependencies. Easy to use, regex-powered, and customizable.\n\n\n\u003e 🚀 **Try it interactively in your browser!** Test the library with our [Interactive Demo](https://ysskrishna.github.io/social-links/demo/) - no installation required.\n\n![OG Image](https://raw.githubusercontent.com/ysskrishna/social-links/main/media/og.png)\n\n## Features\n\n- 🔍 **Auto-detect** social media platforms from URLs\n- ✅ **Validate** URLs against specific platforms\n- 🧹 **Sanitize** URLs to canonical format\n- 🆔 **Extract IDs** (usernames, profile IDs) from URLs\n- 🎯 **65+ predefined platforms** (LinkedIn, GitHub, Twitter/X, Facebook, Instagram, YouTube, and more)\n- 🔧 **Customizable** - Add your own platforms with regex patterns\n- 🚀 **Zero dependencies** - Pure Python, no external libraries\n\n## Installation\n\n```bash\npip install social-links\n```\n\nOr using `uv`:\n\n```bash\nuv pip install social-links\n```\n\n## Quick Start\n\n```python\nfrom sociallinks import detect_platform, sanitize, extract_id, is_valid, list_platforms\n\n# Detect platform from URL\nplatform = detect_platform(\"https://www.linkedin.com/in/ysskrishna/\")\nprint(platform)  # \"linkedin\"\n\n# Validate URL for a specific platform\nis_valid_url = is_valid(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")\nprint(is_valid_url)  # True\n\n# Sanitize URL to canonical format\nsanitized = sanitize(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")\nprint(sanitized)  # \"https://linkedin.com/in/ysskrishna\"\n\n# Extract username/ID from URL\nuser_id = extract_id(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")\nprint(user_id)  # \"ysskrishna\"\n\n# List all supported platforms\nplatforms = list_platforms()\nprint(f\"Supported platforms: {len(platforms)}\")  # Supported platforms: 65+\n```\n\nThat's it! For most use cases, you don't need anything more. See [Basic Usage](#basic-usage) for more examples, or [Advanced Usage](#advanced-usage) if you need custom platforms or configurations.\n\n## Supported Platforms\n\nThe library comes with 65+ predefined platforms:\n\n| Predefined Platforms| | |\n|---|---|---|\n| [Apple Music](https://music.apple.com) | [ArtStation](https://artstation.com) | [Bandcamp](https://bandcamp.com) |\n| [Behance](https://behance.net) | [Bluesky](https://bsky.app) | [Chess.com](https://chess.com) |\n| [CodePen](https://codepen.io) | [Crunchbase](https://crunchbase.com) | [Dailymotion](https://dailymotion.com) |\n| [Dev.to](https://dev.to) | [Discord](https://discord.com) | [Docker Hub](https://hub.docker.com) |\n| [Douyin](https://douyin.com) | [Dribbble](https://dribbble.com) | [Etsy](https://etsy.com) |\n| [Exercism](https://exercism.io) | [Facebook](https://facebook.com) | [Fiverr](https://fiverr.com) |\n| [Flickr](https://flickr.com) | [GitHub](https://github.com) | [GitLab](https://gitlab.com) |\n| [Gravatar](https://gravatar.com) | [Gumroad](https://gumroad.com) | [HackerRank](https://hackerrank.com) |\n| [Hacker News](https://news.ycombinator.com) | [Hashnode](https://hashnode.com) | [Instagram](https://instagram.com) |\n| [Kaggle](https://kaggle.com) | [Keybase](https://keybase.io) | [Kuaishou](https://kuaishou.com) |\n| [LeetCode](https://leetcode.com) | [Lemmy World](https://lemmy.world) | [Lichess](https://lichess.org) |\n| [LinkedIn](https://linkedin.com) (personal \u0026 company) | [Linktree](https://linktr.ee) | [Mastodon](https://mastodon.social) |\n| [Medium](https://medium.com) | [Patreon](https://patreon.com) | [Pinterest](https://pinterest.com) |\n| [Product Hunt](https://producthunt.com) | [PyPI](https://pypi.org) | [Quora](https://quora.com) |\n| [Reddit](https://reddit.com) | [Replit](https://replit.com) | [Rumble](https://rumble.com) |\n| [Signal](https://signal.me) | [SlideShare](https://slideshare.net) | [Snapchat](https://snapchat.com) |\n| [SoundCloud](https://soundcloud.com) | [Spotify](https://spotify.com) | [Stack Overflow](https://stackoverflow.com) |\n| [Steam](https://steamcommunity.com) | [Substack](https://substack.com) | [Telegram](https://telegram.org) |\n| [Threads](https://threads.net) | [TikTok](https://tiktok.com) | [Trello](https://trello.com) |\n| [Tumblr](https://tumblr.com) | [Twitch](https://twitch.tv) | [Unsplash](https://unsplash.com) |\n| [Vimeo](https://vimeo.com) | [VK](https://vk.com) | [WeChat](https://weixin.qq.com) |\n| [Weibo](https://weibo.com) | [Wellfound (AngelList)](https://wellfound.com) | [WhatsApp](https://whatsapp.com) |\n| [WordPress](https://wordpress.com) | [X (Twitter)](https://x.com) | [YouTube](https://youtube.com) |\n\n## Basic Usage\n\nThe simplest way to use social-links is with module-level functions. These work out of the box with 50+ predefined platforms - no configuration needed!\n\n### Detect Platform\n\n```python\nfrom sociallinks import detect_platform\n\n# Detect from full URL\ndetect_platform(\"https://github.com/ysskrishna\")  # \"github\"\ndetect_platform(\"https://x.com/ysskrishna\")      # \"x\"\ndetect_platform(\"https://example.com\")           # None\n\n# Works with various URL formats\ndetect_platform(\"http://linkedin.com/in/ysskrishna\")\ndetect_platform(\"www.facebook.com/ysskrishna\")\ndetect_platform(\"  https://instagram.com/ysskrishna  \")  # Handles whitespace\n```\n\n### Validate URLs\n\n```python\nfrom sociallinks import is_valid\n\n# Validate against specific platform\nis_valid(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")  # True\nis_valid(\"linkedin\", \"https://example.com\")                   # False\nis_valid(\"github\", \"https://github.com/ysskrishna\")             # True\n```\n\n### Sanitize URLs\n\n```python\nfrom sociallinks import sanitize\n\n# Normalize to canonical format\nsanitize(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")\n# Returns: \"https://linkedin.com/in/ysskrishna\"\n\nsanitize(\"github\", \"http://www.github.com/ysskrishna\")\n# Returns: \"https://github.com/ysskrishna\"\n\nsanitize(\"x\", \"https://twitter.com/ysskrishna\")\n# Returns: \"https://x.com/ysskrishna\"\n```\n\n### Extract IDs\n\n```python\nfrom sociallinks import extract_id\n\n# Extract username/profile ID from URL\nextract_id(\"linkedin\", \"https://www.linkedin.com/in/ysskrishna/\")  # \"ysskrishna\"\nextract_id(\"github\", \"https://github.com/ysskrishna\")              # \"ysskrishna\"\nextract_id(\"x\", \"https://twitter.com/ysskrishna\")                  # \"ysskrishna\"\n\n# Works with company/org URLs too\nextract_id(\"linkedin\", \"https://linkedin.com/company/acme\")  # \"acme\"\n```\n\n### List Platforms\n\n```python\nfrom sociallinks import list_platforms\n\n# Get all available platforms\nplatforms = list_platforms()\n# Returns: [\"behance\", \"dev_to\", \"dribbble\", \"github\", \"linkedin\", ...]\nprint(f\"Supported platforms: {len(platforms)}\")  # 50+\n```\n\n---\n## Advanced Usage\n\nFor custom configurations, custom platforms, or programmatic platform management, use the `SocialLinks` class directly instead of the module-level functions.\n\n### When to Use Advanced Features\n\nUse the class API when you need to:\n- Add support for platforms not in the predefined list\n- Customize how existing platforms are detected or sanitized\n- Manage platforms programmatically (add, remove, modify)\n- Configure regex flags or start with an empty platform list\n\n### Using the Class API\n\nThe `SocialLinks` class provides the same methods as module-level functions, but with additional configuration options:\n\n```python\nfrom sociallinks import SocialLinks\n\nsl = SocialLinks()\n\n# Same methods as module functions\nsl.detect_platform(\"https://github.com/ysskrishna\")  # \"github\"\nsl.is_valid(\"linkedin\", \"https://linkedin.com/in/user\")  # True\nsl.sanitize(\"github\", \"https://github.com/user\")  # \"https://github.com/user\"\nsl.extract_id(\"github\", \"https://github.com/user\")  # \"user\"\nsl.list_platforms()  # [\"behance\", \"dev_to\", \"dribbble\", ...]\n```\n\n#### Configuration Options\n\n```python\nimport re\n\n# Start with empty platform list (useful for custom platforms only)\nsl = SocialLinks(use_predefined_platforms=False)\n\n# Configure regex compilation flags\nsl = SocialLinks(regex_flags=re.IGNORECASE | re.MULTILINE)\n```\n\n### Understanding Platform Configuration\n\nA platform configuration is a **list of dictionaries**. Each dictionary contains:\n- **`patterns`**: List of regex patterns that match URLs for this platform\n- **`sanitized`**: Template string for the canonical URL format\n\nMultiple dictionaries are useful when a platform has different URL types that normalize to different canonical forms (e.g., LinkedIn personal profiles `/in/` vs company pages `/company/`).\n\n#### Configuration Structure\n\n**Single dictionary** - Multiple patterns sharing the same sanitization template:\n\n```python\nplatform_config = [{\n    \"patterns\": [\n        r\"https?://(www\\.)?example\\.com/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\",\n        r\"https?://example\\.com/user/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\"\n    ],\n    \"sanitized\": \"https://example.com/{id}\"\n}]\n```\n\n**Multiple dictionaries** - Different URL formats with different sanitization templates (e.g., personal profiles vs company pages):\n\n```python\n# Example: LinkedIn supports both personal profiles and company pages\nplatform_config = [\n    {\n        \"patterns\": [\n            r\"https?://(www\\.)?linkedin\\.com/in/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\",\n            r\"https?://linkedin\\.com/mwlite/in/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\"\n        ],\n        \"sanitized\": \"https://linkedin.com/in/{id}\"  # Personal profiles\n    },\n    {\n        \"patterns\": [\n            r\"https?://(www\\.)?linkedin\\.com/company/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\",\n            r\"https?://(www\\.)?linkedin\\.com/school/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\"\n        ],\n        \"sanitized\": \"https://linkedin.com/company/{id}\"  # Company/school pages\n    }\n]\n```\n\n#### Key Concepts\n\n**Pattern Matching:**\n- Use named groups like `(?P\u003cid\u003e...)` to capture identifiers (username, ID, etc.)\n- For `detect_platform()`: All patterns are checked (order-independent)\n- For `sanitize()`: Patterns are checked **in order**, and the **first match** is used\n\n**Sanitization Template:**\n- Use `{id}` (or other named groups from patterns) as placeholders\n- This defines the canonical URL format returned by `sanitize()`\n\n## Adding Custom Platforms\n\n#### Basic Example\n\n```python\nfrom sociallinks import SocialLinks\n\nsl = SocialLinks(use_predefined_platforms=False)\n\n# Define a custom platform\ncustom_platform = [{\n    \"patterns\": [\n        r\"https?://(www\\.)?example\\.com/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\",\n        r\"https?://example\\.com/user/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\"\n    ],\n    \"sanitized\": \"https://example.com/{id}\"\n}]\n\n# Register the platform\nsl.set_platform(\"example\", custom_platform)\n\n# Use it\nsl.detect_platform(\"https://example.com/user123\")  # \"example\"\nsl.sanitize(\"example\", \"https://www.example.com/user123/\")  # \"https://example.com/user123\"\n```\n\n#### Handling Multiple URL Formats\n\nWhen a platform supports different URL formats that normalize to **different** canonical forms (e.g., personal profiles vs company pages):\n\n```python\nfrom sociallinks import SocialLinks\n\nsl = SocialLinks(use_predefined_platforms=False)\n\n# Example: Platform with personal profiles and company pages\nlinkedin_style_platform = [\n    {\n        \"patterns\": [\n            r\"https?://(www\\.)?example\\.com/profile/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\",\n            r\"https?://example\\.com/user/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\"\n        ],\n        \"sanitized\": \"https://example.com/profile/{id}\"  # Personal profiles\n    },\n    {\n        \"patterns\": [\n            r\"https?://(www\\.)?example\\.com/company/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\",\n            r\"https?://(www\\.)?example\\.com/org/(?P\u003cid\u003e[A-Za-z0-9_-]+)/?$\"\n        ],\n        \"sanitized\": \"https://example.com/company/{id}\"  # Company pages\n    }\n]\n\nsl.set_platform(\"example\", linkedin_style_platform)\n\n# Personal profile URLs normalize to /profile/\nsl.sanitize(\"example\", \"https://www.example.com/user/johndoe\")  \n# Returns: \"https://example.com/profile/johndoe\"\n\n# Company URLs normalize to /company/\nsl.sanitize(\"example\", \"https://www.example.com/org/acme-corp\")  \n# Returns: \"https://example.com/company/acme-corp\"\n```\n\n### Managing Platforms\n\n#### Viewing Platform Configurations\n\n```python\nfrom sociallinks import SocialLinks\n\nsl = SocialLinks()\n\n# Get configuration for an existing platform\ngithub_config = sl.get_platform(\"github\")\nprint(github_config)  # See the patterns and sanitized template\n\n# List all available platforms\nplatforms = sl.list_platforms()\n# Returns: [\"behance\", \"dev_to\", \"dribbble\", \"github\", \"linkedin\", ...]\n```\n\n#### Adding Platforms\n\n```python\n# Add a new platform (raises error if platform already exists)\ncustom_platform = [{\n    \"patterns\": [r\"https?://example.com/(?P\u003cid\u003e[A-Za-z0-9_]+)\"],\n    \"sanitized\": \"https://example.com/{id}\"\n}]\nsl.set_platform(\"example\", custom_platform)\n\n# Override an existing platform (including predefined ones)\nsl.set_platform(\"github\", custom_platform, override=True)\n```\n\n#### Adding Multiple Platforms\n\n```python\n# Add multiple platforms at once\nnew_platforms = {\n    \"platform1\": [{\n        \"patterns\": [r\"https?://example1.com/(?P\u003cid\u003e[A-Za-z0-9_]+)\"],\n        \"sanitized\": \"https://example1.com/{id}\"\n    }],\n    \"platform2\": [{\n        \"patterns\": [r\"https?://example2.com/(?P\u003cid\u003e[A-Za-z0-9_]+)\"],\n        \"sanitized\": \"https://example2.com/{id}\"\n    }]\n}\n\nsl.set_platforms(new_platforms, override=False)  # Raises error if any exist\nsl.set_platforms(new_platforms, override=True)   # Overrides existing platforms\n```\n\n#### Modifying Existing Platforms\n\n```python\n# Get existing configuration\ngithub_config = sl.get_platform(\"github\")\n\n# Modify and override\ncustom_github = [{\n    \"patterns\": [r\"https?://github\\.com/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\"],\n    \"sanitized\": \"https://github.com/{id}\"\n}]\nsl.set_platform(\"github\", custom_github, override=True)\n```\n\n#### Removing Platforms\n\n```python\n# Delete a single platform\nsl.delete_platform(\"custom_platform\")\n\n# Delete multiple platforms\nsl.delete_platforms([\"platform1\", \"platform2\"])\n\n# Clear all platforms\nsl.clear_platforms()\n```\n\n### Complete Example\n\nHere's a complete example showing how to build a custom platform manager:\n\n```python\nfrom sociallinks import SocialLinks\n\n# Start with predefined platforms\nsl = SocialLinks()\n\n# Add a custom platform\nmy_platform = [{\n    \"patterns\": [\n        r\"https?://(www\\.)?mysite\\.com/profile/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\",\n        r\"https?://mysite\\.com/u/(?P\u003cid\u003e[A-Za-z0-9_]+)/?$\"\n    ],\n    \"sanitized\": \"https://mysite.com/profile/{id}\"\n}]\nsl.set_platform(\"mysite\", my_platform)\n\n# Use it\nurl = \"https://www.mysite.com/u/johndoe\"\nplatform = sl.detect_platform(url)  # \"mysite\"\nsanitized = sl.sanitize(platform, url)  # \"https://mysite.com/profile/johndoe\"\nuser_id = sl.extract_id(platform, url)  # \"johndoe\"\nis_valid = sl.is_valid(platform, url)  # True\n\n# View all platforms\nall_platforms = sl.list_platforms()\nprint(f\"Total platforms: {len(all_platforms)}\")\n```\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/ysskrishna/social-links/blob/main/CHANGELOG.md) for a detailed list of changes and version history.\n\n## Roadmap\n\nThe following improvements are planned for upcoming releases:\n\n- [ ] Add method to configure custom sanitization patterns\n- [ ] Integrate development tools (flake8, black, isort) for code quality\n- [ ] Add code coverage reporting with pytest-cov\n- [ ] Refactor platform entries using dataclasses for better structure\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guide](https://github.com/ysskrishna/social-links/blob/main/CONTRIBUTING.md) for details on our code of conduct, development setup, and the process for submitting pull requests.\n\n## Support\n\nIf you find this library helpful:\n\n- ⭐ Star the repository\n- 🐛 Report issues\n- 🔀 Submit pull requests\n- 💝 [Sponsor on GitHub](https://github.com/sponsors/ysskrishna)\n\n## Credits\n\nThis package is inspired by the [social-links](https://www.npmjs.com/package/social-links) npm package by [gkucmierz](https://github.com/gkucmierz/social-links).\n\n## License\n\nMIT © [Y. Siva Sai Krishna](https://github.com/ysskrishna) - see [LICENSE](https://github.com/ysskrishna/social-links/blob/main/LICENSE) file for details.\n\n\n---\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://github.com/ysskrishna\"\u003eAuthor's GitHub\u003c/a\u003e •\n  \u003ca href=\"https://linkedin.com/in/ysskrishna\"\u003eAuthor's LinkedIn\u003c/a\u003e •\n  \u003ca href=\"https://github.com/ysskrishna/social-links/issues\"\u003eReport Issues\u003c/a\u003e •\n  \u003ca href=\"https://pypi.org/project/social-links/\"\u003ePackage on PyPI\u003c/a\u003e •\n  \u003ca href=\"https://ysskrishna.github.io/social-links/\"\u003ePackage Documentation\u003c/a\u003e •\n  \u003ca href=\"https://ysskrishna.github.io/social-links/demo/\"\u003eInteractive Demo\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysskrishna%2Fsocial-links","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysskrishna%2Fsocial-links","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysskrishna%2Fsocial-links/lists"}