Thanks to visit codestin.com
Credit goes to github.com

Skip to content
View RavSinghChandan's full-sized avatar

Block or report RavSinghChandan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RavSinghChandan/README.md


Portfolio   LinkedIn   YouTube   Instagram   X   Gmail


🎙️ I explain one AI concept every day — in the simplest way possible.

Follow along on YouTube · Instagram · X  →  @aiwithrav


🌍 Open Source Contributions

Merged code into libraries the AI/ML world actually uses.

How It All Connects

A rotating buckminsterfullerene — 60 vertices, 90 bonds, 12 pentagons and 20 hexagons — carrying my 57 merged open-source pull requests as glowing atoms

Every merged PR, carried on a C60 buckyball. Real geometry: 60 vertices, 90 bonds, 12 pentagons, 20 hexagons.
Spin the interactive version on my portfolio →


joblib    Hugging Face    NLTK    pypdf    Authlib

joblib sentence-transformers nltk pypdf authlib

57 merged pull requests across 5 libraries. Grouped by project — click any row to expand.

Library Merged Focus
py-pdf/pypdf 10.1k★ 51 Reader robustness, typing, spec compliance
huggingface/sentence-transformers 18.9k★ 2 Regression tests, docs
joblib/joblib 4.1k★ 2 Input validation, path handling
nltk/nltk 14.7k★ 1 Regression tests, argument validation
authlib/authlib 5.4k★ 1 OAuth correctness
py-pdf/pypdf  10.1k★  —  50 merged  (click to expand)
PR Contribution
#4069 Robustness: insert_blank_page looked up the size of a page that did not exist yet on an empty writer
#4064 Robustness: a malformed /XFA entry raised TypeError or StopIteration out of reader.xfa
#4058 Robustness: a font /Encoding whose /Differences is not an array crashed text extraction
#4054 Robustness: page /Resources that is not a dictionary crashed extract_text() on the /Font lookup
#4048 Robustness: a /Kids entry that is not a dictionary crashed the page tree walk
#4046 Robustness: an /Annots entry that is not an array crashed anything iterating page.annotations
#4041 Robustness: a page box that is not an array failed with an error naming neither the box nor the problem
#4039 Robustness: a name tree node whose /Names or /Kids is not an array crashed reader.named_destinations
#4038 Typing: read_object was annotated to return an int or str it can never produce, forcing six suppressions across its callers
#4031 Robustness: a form field entry that is not a dictionary crashed reader.get_fields()
#4030 Robustness: /XObject resources that are not a dictionary crashed page.images
#4029 Robustness: an /AcroForm entry that is not a dictionary crashed reader.get_fields()
#4023 Robustness: an /Outlines entry that is not a dictionary crashed reader.outline
#4022 Robustness: a malformed /PageLabels entry crashed reader.page_labels
#4021 Robustness: a malformed /ViewerPreferences entry raised AttributeError
#4020 Robustness: a malformed /Dests or /Names entry crashed reader.named_destinations
#4019 Robustness: a malformed AcroForm /Fields entry crashed get_fields()
#4018 Robustness: an outline node that is not a dictionary crashed reader.outline
#4017 An unknown page label style was written into /S and then silently dropped on read
#4016 An out-of-range page surfaced as a bare IndexError from the kids array
#4014 The four area and clip preferences were declared with no acceptable values, so any name passed
#4013 /PrintPageRange holds page pairs, so an odd-length array leaves a range without its end
#4012 /NumCopies accepted a negative count no reader can interpret
#4011 /PrintScaling was declared with an empty list of acceptable values, so nothing checked it
#4010 Bug fix: the page layout warning printed a set of an empty string and every layout run together
#4009 A page box could be set to two values but not read back, since the getter needs four
#4005 Bug fix: number2uppercase_roman_numeral(-1) returned CMXCIX instead of refusing a non-positive number
#4004 Bug fix: PageRange("::0") was accepted and reported valid, but the range only failed once applied
#4003 Form field flags were passed as a bare 1 where the docs point at the FfBits enum
#4002 Bug fix: two callers passed the raw /Font entry to a function reading it as a dictionary - it worked only because IndirectObject forwards attributes
#4000 expat passes an int for is_parameter_entity while typeshed declares a bool - records why the annotation stays
#3997 The docs set annotation.flags = 4 under a comment pointing readers at AnnotationFlag
#3996 Bug fix: a CID font's /W array may hold real numbers, so a width of 443.35938 landed in a dict[str, int]
#3995 XmpInformation was typed for a ContentStream, a sibling of the DecodedStreamObject the /Metadata stream actually is
#3991 The annotation border was declared an ArrayObject while the documented usage is a plain list
#3990 Fit was typed for a tuple, but the destination builder unpacks the PDF array and hands over a list
#3989 The layout-mode extractor passes a ChainMap into a function annotated for two lists, behind a type: ignore
#3988 Both name-tree walks cast to TreeObject on objects that are plain dictionaries at runtime
#3986 The annotation list holds IndirectObject references, not the DictionaryObject it was declared as
#3985 Returned two empty lists from a function annotated None, hidden behind a type: ignore
#3984 Bug fix: RectangleObject was typed for a tuple, but every caller inside pypdf passes the ArrayObject read from the PDF
#3983 Bug fix: iterating a PDF dictionary yields keys, so the AcroForm font walk collected nothing — form fields inheriting a document-level font came back with an empty font set
#3972 A compressed cross-reference stream is an EncodedStreamObject, a sibling of the ContentStream it was declared as
#3971 Bug fix: a stream without an explicit /DecodeParms handed every filter a plain dict, but the decoders are typed for a DictionaryObject
#3970 Bug fix: the object-translation table is declared int-to-int, but each entry also stores the source document under a "PreventGC" key — two type: ignore comments hid the mismatch
#3969 Release tooling: the version bump always assumed a patch release, so enhancements had to be corrected by hand — now derived from the generated changelog sections
#3960 Bug fix: PdfWriterProtocol declares _reader, but PdfWriter only set it in incremental mode — so a normal writer failed the protocol it is passed as
#3957 Bug fix: pages was annotated list[PageObject] but returns a lazy _VirtualList, so type checkers accepted reader.pages.append(...) — which raises at runtime
#3943 Bug fix: an explicit /Decode array replaced the Adobe CMYK inversion instead of composing with it, leaving extracted images colour-inverted
#3938 Bug fix: low-bit expansion never ran for unfiltered/inline images, raising unrecognized image mode
#3929 Bug fix: low-bit /DeviceRGB images decoded as RGB instead of palette — broken image extraction
huggingface/sentence-transformers  18.9k★  —  2 merged  (click to expand)
PR Contribution
#3855 Regression tests for a core utility
#3843 Documented the sparse-tensor → SciPy COO conversion
joblib/joblib  4.1k★  —  2 merged  (click to expand)
PR Contribution
#1812 Bug fix: accept any os.PathLike in dump()/load()
#1811 Docstrings for time-format helpers
nltk/nltk  14.7k★  —  1 merged  (click to expand)
PR Contribution
#3703 Regression tests for transitive_closure — cycles, reflexive closure, and input-mutation safety
authlib/authlib  5.4k★  —  1 merged  (click to expand)
PR Contribution
#919 Bug fix: the OAuth1 InsecureTransportError carried the OAuth2 description, telling OAuth 1.0a clients "OAuth 2 MUST utilize https." — merged by the project lead
> 🔄 **In review:** pypdf · optax · numba · llama_index · typeguard · python-jose · kokoro-onnx — bug fixes and docs.

57 merged across 5 libraries the AI/ML world runs on — more PRs landing over time.


⚙️ Stack



LangGraph LangChain FAISS RAG DeepSeek Claude MCP NetworkX


🚀 Production Projects


AstroIntel 360° — AI Spiritual Intelligence Platform

Python FastAPI Angular LangGraph DeepSeek JWT Tests Status

18+ AI agents coordinate dynamically to generate personalised structured intelligence reports across Vedic Astrology, Numerology, Palmistry, Tarot, and Vastu Shastra — in 23 Indian languages.

Code


Bench Resource Optimizer — Enterprise AI HR Platform

Python FastAPI Angular HybridRAG Kafka Redis JWT Tests

Enterprise-grade AI system that maps bench employees to open roles using 5-layer Hybrid RAG — with L1+L2 semantic cache, SSE streaming, circuit breaker, and LLM-as-judge guardrails. SonarQube Quality Gate PASSED.

Code   RAG Repo


RunbookAI — Enterprise IT Incident Response (RAGless)

Python FastAPI Angular LangGraph SQLite NetworkX Tests RAGless

Enterprise IT incident response engine — zero vectors, zero embeddings, zero hallucinated commands. Every kubectl command is pulled verbatim from the database. Three completely separate knowledge panels ranked by priority for every incident.

Code   Doc QA Repo


Agentic Growth OS — AI Marketing Intelligence

Python FastAPI LangGraph Angular DeepSeek Self-Improving

A LangGraph pipeline where 5 specialist agents collaborate to generate and optimise marketing campaigns — with a learning engine that uses past performance data to improve the next run automatically. ROI improves run over run.

Code   Agent Repo


Universal Agent — Plug-and-Play AI Platform

Python FastAPI LangGraph YAML Angular Tests Lock

An agent platform where any application can plug in an AI agent with just a YAML file — persona, tools, behaviour, all configured at runtime. Per-agent lock/unlock for token protection. Works with any model.

Code   Agent Repo


📚 Senior AI Engineer — 15-Module Study Path

M01 M02 M03 M04 M05 M06 M07 M08 M09 M10 M11 M12 M13 M14 M15


Study Path


🗂️ Repository Index

01-bench-resource-optimizer   02-senior-ai-engineer-study-path   03-ai-agent

04-runbook-ai   05-langchain-langraph-projects   06-mlops-and-infra

07-ai-system-design   08-associate-path   09-open-source

10-astro-intel   11-salesflow-ai   12-angular-frontend-apps

monorepo


📡 #100DaysOfAI  ·  Follow the journey

Instagram   YouTube   X   LinkedIn


🎯 Open To

Senior AI Engineer   Applied AI Engineer   AI Platform Engineer   Founding Engineer


"AI is not magic. Reliable systems are engineered."

Pinned Loading

  1. 01-bench-resource-optimizer 01-bench-resource-optimizer Public

    RAG chatbot — LangChain + FAISS + DeepSeek | Retrieval-Augmented Generation pipeline with hybrid search, HyDE, CRAG quality scoring, semantic cache L1+L2, and SSE streaming

    Python

  2. 04-runbook-ai 04-runbook-ai Public

    Document Q&A — PDF ingestion, structured extraction, RunbookAI SQL-native query pipeline | Zero hallucination by design

    Python

  3. 09-ai-with-rav-platform 09-ai-with-rav-platform Public

    Open Source Contributions — patches, issues, and PRs to LangChain, LangGraph, and AI tooling ecosystem

    TypeScript

  4. 10-astro-intel 10-astro-intel Public

    AstroIntel 360° — 18+ LangGraph agents generating AI spiritual intelligence reports in 23 Indian languages

    Python

  5. open-source-contributions open-source-contributions Public

    30-day open source contribution tracker — daily PRs to AI/ML repos (LangChain, LangGraph, Hugging Face, and more)