Apps what to study how to clear for job
Apps andrhra pradesh
APPSC official Andhra Pradesh Public Service Commission group notifications syllabus
Group1 where to start
site:psc.ap.gov.in APPSC Group I services syllabus notification PDF 2026
| Month | Main focus |
|---|---|
| Month 1 | Indian Polity, AP history and culture, basic arithmetic/reasoning |
| Month 2 | Indian history, Indian geography, Andhra Pradesh geography |
| Month 3 | Indian economy, AP economy, science, environment, current affairs revision |
Find the latest APPSC Group 1 notification and exam pattern
site:psc.ap.gov.in "Group-I Services" notification 2026 APPSC PDF
APPSC Group 1 latest notification 2026 official notification exam pattern
site:psc.ap.gov.in/Documents/NotificationDocuments "GROUP-I SERVICES" "Notification No."
https://psc.ap.gov.in/Documents/Syllabus1/Final_syllabus_Gro…
https://psc.ap.gov.in/Documents/NotificationDocuments/28_202…
| Paper | Subject | Questions | Marks | Time |
|---|---|---|---|---|
| Paper I | General Studies | 120 | 120 | 120 minutes |
| Paper II | General Aptitude | 120 | 120 | 120 minutes |
| Total | 240 | 240 | 4 hours |
| Paper | Subject | Marks | Time |
|---|---|---|---|
| Qualifying | Telugu | 150 | 180 minutes |
| Qualifying | English | 150 | 180 minutes |
| Paper I | General Essay | 150 | 180 minutes |
| Paper II | History, Culture and Geography of India and Andhra Pradesh | 150 | 180 minutes |
| Paper III | Polity, Constitution, Governance, Law and Ethics | 150 | 180 minutes |
| Paper IV | Economy and Development of India and Andhra Pradesh | 150 | 180 minutes |
| Paper V | Science, Technology and Environmental Issues | 150 | 180 minutes |
Make a Prelims vs Mains syllabus comparison
| Area | Prelims / Screening Test | Mains |
|---|---|---|
| Purpose | Shortlisting for Mains | Determines final written merit |
| Question style | Objective MCQs | Descriptive answers and essays |
| Papers | 2 papers | 2 qualifying language papers + 5 merit papers |
| Total marks | 240 marks | 750 merit marks |
| Time | 120 minutes per paper | 180 minutes per paper |
| Negative marking | Yes, 1/3 mark deduction for a wrong answer | No MCQ negative marking |
| Focus | Broad factual coverage, speed, elimination, current affairs | Depth, analysis, structure, examples, AP-specific application |
| Prelims | Mains |
|---|---|
| Indian history: ancient, medieval, modern | Detailed history and culture of India and Andhra Pradesh |
| Indian national movement | AP history, social and cultural movements, freedom struggle |
| Indian and AP culture | Art, literature, architecture, regional identity |
| World, Indian and AP geography | Physical, social, economic geography of India and AP |
| Basic facts, locations, chronology | Analytical questions: causes, effects, comparisons, maps and contemporary relevance |
| Prelims | Mains |
|---|---|
| Constitution basics | Detailed constitutional issues and interpretation |
| Fundamental Rights, DPSP, duties | Governance, public policy, accountability and citizen charters |
| Parliament, President, PM, Governor, CM | Centre-State relations, judiciary, local governance and public administration |
| Social justice and international relations | Law, ethics, integrity, probity, case-based answers |
| Basic e-governance and welfare schemes | Ethics in public service, corruption, transparency and ethical dilemmas |
| Prelims | Mains |
|---|---|
| Basic economic concepts | Economic development and planning in depth |
| GDP, inflation, poverty, unemployment | Growth, inclusion, employment, agriculture and industrial development |
| Banking, budget, taxation, reforms | Public finance, fiscal issues, investment, infrastructure and regional inequality |
| Indian economy and AP economy facts | Detailed AP economy, resources, irrigation, agriculture and welfare policies |
| AP Reorganisation Act basics | Post-bifurcation administrative, financial, social and development issues |
| Prelims | Mains |
|---|---|
| General science in daily life | Science and technology applications in society and governance |
| Basic biology, physics and chemistry | Biotechnology, nanotechnology, IT, space, energy and emerging technologies |
| Science and technology current affairs | Ethical, legal, social and economic effects of technology |
| Environment basics | Environmental degradation, climate change and sustainable development |
| Disaster facts and agencies | Disaster vulnerability, preparedness, mitigation, remote sensing and GIS |
| Prelims | Mains |
|---|---|
| AP history, geography, economy, government schemes and current affairs | Detailed AP development challenges, regional issues and policy analysis |
| AP rivers, districts, crops, institutions, culture | Bifurcation impacts, capital/infrastructure issues, river-water sharing, public finance and investment |
| Factual questions | Analytical, solution-oriented answers with AP examples |
| Prelims | Mains |
|---|---|
| What happened? | Why did it happen, what is its impact, and what should government do? |
| Dates, places, reports, appointments, schemes, summits | Background, constitutional/economic/environmental implications and solutions |
| High volume, MCQ-based revision | Fewer topics but deeper notes and examples |
| While studying | Prelims task | Mains task |
|---|---|---|
| Polity | Solve 30-50 MCQs | Write one 150-word answer |
| History | Revise facts/timeline | Write causes-effects-significance |
| Economy | Learn terms and data | Analyse an AP economic issue |
| Geography | Practice map-based MCQs | Draw a map/diagram and explain |
| Current affairs | Make factual notes | Write issue-based analysis |
Make a Prelims and Mains topic-wise tracker
| Subject | Topic | Status | Revision 1 | Revision 2 | PYQs/MCQs |
|---|---|---|---|---|---|
| History & Culture | Indus Valley Civilization and Vedic Age | ⬜ | ⬜ | ⬜ | ⬜ |
| History & Culture | Buddhism, Jainism, Mauryas, Guptas | ⬜ | ⬜ | ⬜ | ⬜ |
| History & Culture | South Indian dynasties: Satavahanas, Chalukyas, Kakatiyas, Vijayanagara | ⬜ | ⬜ | ⬜ | ⬜ |
| History & Culture | Delhi Sultanate, Mughals, Bhakti and Sufi movements | ⬜ | ⬜ | ⬜ | ⬜ |
| History & Culture | Modern India and freedom movement | ⬜ | ⬜ | ⬜ | ⬜ |
| History & Culture | Andhra Pradesh history, culture, art, literature and personalities | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Constitutional history, Preamble, Union and territory | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Fundamental Rights, DPSP and Fundamental Duties | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | President, Prime Minister and Council of Ministers | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Parliament, bills, budget and committees | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Governor, Chief Minister and State Legislature | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Judiciary, constitutional bodies and statutory bodies | ⬜ | ⬜ | ⬜ | ⬜ |
| Polity | Local government, social justice, welfare and e-governance | ⬜ | ⬜ | ⬜ | ⬜ |
| Economy | Basic concepts: GDP, GNP, inflation, fiscal deficit, BoP | ⬜ | ⬜ | ⬜ | ⬜ |
| Economy | Planning, poverty, unemployment and inclusive growth | ⬜ | ⬜ | ⬜ | ⬜ |
| Economy | Agriculture, irrigation, industry and services | ⬜ | ⬜ | ⬜ | ⬜ |
| Economy | Banking, taxation, budget, external sector and reforms | ⬜ | ⬜ | ⬜ | ⬜ |
| AP Economy | AP agriculture, resources, industries and infrastructure | ⬜ | ⬜ | ⬜ | ⬜ |
| AP Economy | AP budget, welfare schemes, development indicators | ⬜ | ⬜ | ⬜ | ⬜ |
| Geography | Physical geography: earth, rocks, atmosphere, climate | ⬜ | ⬜ | ⬜ | ⬜ |
| Geography | World and Indian geography | ⬜ | ⬜ | ⬜ | ⬜ |
| Geography | Indian rivers, soils, crops, minerals and industries | ⬜ | ⬜ | ⬜ | ⬜ |
| AP Geography | AP location, districts, rivers, climate, soils and crops | ⬜ | ⬜ | ⬜ | ⬜ |
| AP Geography | AP minerals, forests, ports, industries and projects | ⬜ | ⬜ | ⬜ | ⬜ |
| Science | Basic physics, chemistry and biology | ⬜ | ⬜ | ⬜ | ⬜ |
| Science | Human health, diseases, nutrition and vaccines | ⬜ | ⬜ | ⬜ | ⬜ |
| Science & Tech | Space, IT, AI, biotechnology, nanotechnology and energy | ⬜ | ⬜ | ⬜ | ⬜ |
| Environment | Ecology, biodiversity, pollution and climate change | ⬜ | ⬜ | ⬜ | ⬜ |
| Disaster Management | Cyclones, floods, droughts, earthquakes and mitigation | ⬜ | ⬜ | ⬜ | ⬜ |
| Mental Ability | Number system, ratio, percentage, profit and loss | ⬜ | ⬜ | ⬜ | ⬜ |
| Mental Ability | Time-work, time-distance, averages and data interpretation | ⬜ | ⬜ | ⬜ | ⬜ |
| Mental Ability | Reasoning, coding-decoding, series and syllogisms | ⬜ | ⬜ | ⬜ | ⬜ |
| Current Affairs | Andhra Pradesh current affairs | ⬜ | Weekly | Monthly | ⬜ |
| Current Affairs | National and international current affairs | ⬜ | Weekly | Monthly | ⬜ |
| AP Bifurcation | AP Reorganisation Act, 2014 and related issues | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper | Topic | Notes ready | Answer writing | Revision | Test done |
|---|---|---|---|---|---|
| Qualifying Telugu | Comprehension, grammar and vocabulary | ⬜ | ⬜ | ⬜ | ⬜ |
| Qualifying Telugu | Essay, letter, report, précis and translation | ⬜ | ⬜ | ⬜ | ⬜ |
| Qualifying English | Comprehension, grammar and vocabulary | ⬜ | ⬜ | ⬜ | ⬜ |
| Qualifying English | Essay, précis, report, letter and translation | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper I: Essay | Social issues and social justice | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper I: Essay | Economy, development and employment | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper I: Essay | Governance, democracy and public policy | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper I: Essay | Environment, disaster management and technology | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper I: Essay | Andhra Pradesh development issues | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper II: History | Indian history and culture | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper II: History | AP history, cultural heritage and social movements | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper II: Geography | Physical geography of India and AP | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper II: Geography | Resources, agriculture, industries and urbanisation | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper II: Geography | Population, migration, disasters and environmental issues | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper III: Polity | Constitution, federalism and separation of powers | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper III: Governance | Accountability, transparency, RTI and e-governance | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper III: Governance | Public policy, citizen charters and welfare delivery | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper III: Law | Human rights, social justice and legal issues | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper III: Ethics | Integrity, probity, public-service values and case studies | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper IV: Economy | Indian economy, reforms and inclusive growth | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper IV: Economy | Agriculture, irrigation, industry and employment | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper IV: Economy | Public finance, banking, budget and infrastructure | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper IV: AP Economy | AP resources, agriculture, industries and investment | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper IV: AP Development | Bifurcation impacts, fiscal challenges and regional development | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper V: Science & Tech | IT, space, biotechnology, nanotechnology and energy | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper V: Environment | Biodiversity, pollution, climate change and sustainability | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper V: Disaster Management | Risk reduction, mitigation, GIS and remote sensing | ⬜ | ⬜ | ⬜ | ⬜ |
| Paper V: Current Issues | Science, technology and environment current affairs | ⬜ | ⬜ | ⬜ | ⬜ |
| Week | Static subjects completed | AP-specific topic | Current affairs revised | MCQs solved | Mains answers written | Mock test score |
|---|---|---|---|---|---|---|
| Week 1 | ||||||
| Week 2 | ||||||
| Week 3 | ||||||
| Week 4 |
Create an Excel tracker for these APPSC Group 1 topics
APPSC Group 1 official syllabus tracker topics
~/
mkdir -p "/tmp/workspace/appsc-group1-tracker/src" "/tmp/workspace/appsc-group1-tracker/output" && python - <<'PY' from openpyxl import Workbook, load_workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment from openpyxl.worksheet.datavalidation import DataValidation from openpyxl.formatting.rule import FormulaRule from openpyxl.utils import get_column_letter from openpyxl.chart import BarChart, Reference from openpyxl.worksheet.table import Table, TableStyleInfo from openpyxl.comments import Comment from pathlib import Path out = Path('/tmp/workspace/appsc-group1-tracker/output/APPSC_Group_1_Prelims_Mains_Tracker.xlsx') wb = Workbook() ws = wb.active ws.title = 'Start Here' pre = wb.create_sheet('Prelims Tracker') main = wb.create_sheet('Mains Tracker') weekly = wb.create_sheet('Weekly Progress') summary = wb.create_sheet('Dashboard') navy='17365D'; blue='1F4E78'; lightblue='D9EAF7'; teal='DDEBF7'; green='E2F0D9'; yellow='FFF2CC'; orange='FCE4D6'; red='F4CCCC'; gray='F2F2F2'; white='FFFFFF' thin = Side(style='thin', color='B7C9D6') medium = Side(style='medium', color=navy) font = 'Arial' for sheet in wb.worksheets: sheet.sheet_view.showGridLines = False # Start sheet ws.merge_cells('A1:H1'); ws['A1']='APPSC Group 1 Preparation Tracker' ws['A1'].font=Font(name=font,size=18,bold=True,color=white); ws['A1'].fill=PatternFill('solid',fgColor=navy); ws['A1'].alignment=Alignment(horizontal='center') ws.merge_cells('A3:H3'); ws['A3']='Use this workbook to track Prelims coverage, Mains preparation, revisions, MCQs, answer writing, and weekly test performance.' ws['A3'].font=Font(name=font,size=11,color='404040'); ws['A3'].alignment=Alignment(wrap_text=True) info = [ ('How to use','1. Update the Status cells as you complete each topic. 2. Record revision dates and MCQ/answer targets. 3. Fill Weekly Progress every Sunday. 4. Check Dashboard for completion counts.'), ('Status options','Not Started | In Progress | Completed | Revised | Test Done'), ('Prelims goal','Build breadth, improve speed, revise repeatedly, and track PYQs/MCQs.'), ('Mains goal','Prepare concise notes, write answers, revise, and take paper-wise tests.'), ('Revision cycle','Recommended: 1 day, 7 days, and 30 days after first study.'), ('Source','Topic list is based on the APPSC Group 1 syllabus categories. Confirm changes only through APPSC notifications.')] for r,(a,b) in enumerate(info,5): ws.cell(r,1,a).font=Font(name=font,bold=True,color=navy) ws.cell(r,1).fill=PatternFill('solid',fgColor=lightblue) ws.cell(r,2,b).font=Font(name=font) ws.merge_cells(start_row=r,start_column=2,end_row=r,end_column=8) for c in range(1,9): ws.cell(r,c).border=Border(bottom=thin) ws.cell(r,c).alignment=Alignment(vertical='top',wrap_text=True) ws.row_dimensions[r].height=34 ws['A13']='Sheet'; ws['B13']='Purpose' for c in ('A13','B13'): ws[c].font=Font(name=font,bold=True,color=white); ws[c].fill=PatternFill('solid',fgColor=blue) links=[('Prelims Tracker','Topic-level Prelims study, revisions and MCQs'),('Mains Tracker','Notes, answer writing, revisions and tests'),('Weekly Progress','Weekly targets and results'),('Dashboard','Automatic high-level progress summary')] for i,(s,p) in enumerate(links,14): ws.cell(i,1,s); ws.cell(i,1).hyperlink=f"#{s.replace(' ','_')}!A1"; ws.cell(i,1).style='Hyperlink'; ws.cell(i,2,p) ws.column_dimensions['A'].width=22 for col in 'BCDEFGH': ws.column_dimensions[col].width=18 ws.freeze_panes='A5' prelims = [ ('History & Culture','Indus Valley Civilization and Vedic Age'),('History & Culture','Buddhism, Jainism, Mauryas and Guptas'),('History & Culture','South Indian dynasties: Satavahanas, Chalukyas, Kakatiyas and Vijayanagara'),('History & Culture','Delhi Sultanate, Mughals, Bhakti and Sufi movements'),('History & Culture','Modern India and freedom movement'),('History & Culture','Andhra Pradesh history, culture, art, literature and personalities'), ('Polity','Constitutional history, Preamble, Union and territory'),('Polity','Fundamental Rights, DPSP and Fundamental Duties'),('Polity','President, Prime Minister and Council of Ministers'),('Polity','Parliament, bills, budget and committees'),('Polity','Governor, Chief Minister and State Legislature'),('Polity','Judiciary, constitutional bodies and statutory bodies'),('Polity','Local government, social justice, welfare and e-governance'), ('Economy','Basic concepts: GDP, GNP, inflation, fiscal deficit and BoP'),('Economy','Planning, poverty, unemployment and inclusive growth'),('Economy','Agriculture, irrigation, industry and services'),('Economy','Banking, taxation, budget, external sector and reforms'), ('AP Economy','AP agriculture, resources, industries and infrastructure'),('AP Economy','AP budget, welfare schemes and development indicators'), ('Geography','Physical geography: earth, rocks, atmosphere and climate'),('Geography','World and Indian geography'),('Geography','Indian rivers, soils, crops, minerals and industries'),('AP Geography','AP location, districts, rivers, climate, soils and crops'),('AP Geography','AP minerals, forests, ports, industries and projects'), ('Science','Basic physics, chemistry and biology'),('Science','Human health, diseases, nutrition and vaccines'),('Science & Technology','Space, IT, AI, biotechnology, nanotechnology and energy'),('Environment','Ecology, biodiversity, pollution and climate change'),('Disaster Management','Cyclones, floods, droughts, earthquakes and mitigation'), ('Mental Ability','Number system, ratio, percentage, profit and loss'),('Mental Ability','Time-work, time-distance, averages and data interpretation'),('Mental Ability','Reasoning, coding-decoding, series and syllogisms'),('Current Affairs','Andhra Pradesh current affairs'),('Current Affairs','National and international current affairs'),('AP Bifurcation','AP Reorganisation Act, 2014 and related issues')] mains = [ ('Qualifying Telugu','Comprehension, grammar and vocabulary'),('Qualifying Telugu','Essay, letter, report, précis and translation'),('Qualifying English','Comprehension, grammar and vocabulary'),('Qualifying English','Essay, précis, report, letter and translation'), ('Paper I: Essay','Social issues and social justice'),('Paper I: Essay','Economy, development and employment'),('Paper I: Essay','Governance, democracy and public policy'),('Paper I: Essay','Environment, disaster management and technology'),('Paper I: Essay','Andhra Pradesh development issues'), ('Paper II: History','Indian history and culture'),('Paper II: History','AP history, cultural heritage and social movements'),('Paper II: Geography','Physical geography of India and AP'),('Paper II: Geography','Resources, agriculture, industries and urbanisation'),('Paper II: Geography','Population, migration, disasters and environmental issues'), ('Paper III: Polity','Constitution, federalism and separation of powers'),('Paper III: Governance','Accountability, transparency, RTI and e-governance'),('Paper III: Governance','Public policy, citizen charters and welfare delivery'),('Paper III: Law','Human rights, social justice and legal issues'),('Paper III: Ethics','Integrity, probity, public-service values and case studies'), ('Paper IV: Economy','Indian economy, reforms and inclusive growth'),('Paper IV: Economy','Agriculture, irrigation, industry and employment'),('Paper IV: Economy','Public finance, banking, budget and infrastructure'),('Paper IV: AP Economy','AP resources, agriculture, industries and investment'),('Paper IV: AP Development','Bifurcation impacts, fiscal challenges and regional development'), ('Paper V: Science & Tech','IT, space, biotechnology, nanotechnology and energy'),('Paper V: Environment','Biodiversity, pollution, climate change and sustainability'),('Paper V: Disaster Management','Risk reduction, mitigation, GIS and remote sensing'),('Paper V: Current Issues','Science, technology and environment current affairs')] def make_tracker(sheet, title, headers, data, tracker_type): sheet.merge_cells(start_row=1,start_column=1,end_row=1,end_column=len(headers)) cell=sheet.cell(1,1,title); cell.font=Font(name=font,size=16,bold=True,color=white); cell.fill=PatternFill('solid',fgColor=navy); cell.alignment=Alignment(horizontal='center') sheet.merge_cells(start_row=2,start_column=1,end_row=2,end_column=len(headers)) note = 'Update progress after each study session. Dates are optional; use the Notes column for weak areas, sources, or follow-up work.' sheet.cell(2,1,note).font=Font(name=font,italic=True,color='555555'); sheet.cell(2,1).alignment=Alignment(wrap_text=True) for c,h in enumerate(headers,1): x=sheet.cell(4,c,h); x.font=Font(name=font,bold=True,color=white); x.fill=PatternFill('solid',fgColor=blue); x.alignment=Alignment(horizontal='center',vertical='center',wrap_text=True); x.border=Border(top=medium,bottom=medium,left=thin,right=thin) for r,row in enumerate(data,5): sheet.cell(r,1,r-4); sheet.cell(r,2,row[0]); sheet.cell(r,3,row[1]) for c in range(1,len(headers)+1): z=sheet.cell(r,c); z.font=Font(name=font,size=10); z.alignment=Alignment(vertical='top',wrap_text=True); z.border=Border(bottom=thin,left=thin,right=thin) if c in (4,5,6,7,8): z.fill=PatternFill('solid',fgColor='FFFDF2') sheet.row_dimensions[r].height=36 end=4+len(data) tab=Table(displayName=f"{tracker_type}Table",ref=f"A4:{get_column_letter(len(headers))}{end}") tab.tableStyleInfo=TableStyleInfo(name='TableStyleMedium2',showRowStripes=True,showColumnStripes=False) sheet.add_table(tab) sheet.freeze_panes='D5'; sheet.auto_filter.ref=f"A4:{get_column_letter(len(headers))}{end}" return end pre_headers=['#','Subject','Topic','Status','Revision 1','Revision 2','PYQs / MCQs','Notes'] pre_end=make_tracker(pre,'APPSC Group 1 - Prelims Topic Tracker',pre_headers,prelims,'Prelims') main_headers=['#','Paper','Topic','Notes Ready','Answer Writing','Revision','Test Done','Notes'] main_end=make_tracker(main,'APPSC Group 1 - Mains Topic Tracker',main_headers,mains,'Mains') # width and validations for sh,end in [(pre,pre_end),(main,main_end)]: widths=[6,22,58,16,15,15,16,38] for i,w in enumerate(widths,1): sh.column_dimensions[get_column_letter(i)].width=w sh.row_dimensions[4].height=32 dv=DataValidation(type='list',formula1='"Not Started,In Progress,Completed,Revised,Test Done"',allow_blank=True) sh.add_data_validation(dv); dv.add(f'D5:D{end}') if sh==main: for col in ['D','E','F','G']: d=DataValidation(type='list',formula1='"Not Started,In Progress,Completed,Revised,Test Done"',allow_blank=True) sh.add_data_validation(d); d.add(f'{col}5:{col}{end}') else: for col in ['E','F']: d=DataValidation(type='date',operator='between',formula1='DATE(2020,1,1)',formula2='DATE(2035,12,31)',allow_blank=True) d.promptTitle='Revision date'; d.prompt='Enter a date after you revise this topic.'; sh.add_data_validation(d); d.add(f'{col}5:{col}{end}') d=DataValidation(type='whole',operator='greaterThanOrEqual',formula1='0',allow_blank=True); d.promptTitle='MCQ count'; d.prompt='Enter number of PYQs/MCQs solved.'; sh.add_data_validation(d); d.add(f'G5:G{end}') # status color format status_cols=['D'] if sh==pre else ['D','E','F','G'] colors={'Not Started':red,'In Progress':yellow,'Completed':green,'Revised':'C6E0B4','Test Done':'BDD7EE'} for col in status_cols: for text,colr in colors.items(): sh.conditional_formatting.add(f'{col}5:{col}{end}',FormulaRule(formula=[f'{col}5="{text}"'],fill=PatternFill('solid',fgColor=colr))) # Weekly weekly.merge_cells('A1:I1'); weekly['A1']='APPSC Group 1 - Weekly Progress'; weekly['A1'].font=Font(name=font,size=16,bold=True,color=white); weekly['A1'].fill=PatternFill('solid',fgColor=navy); weekly['A1'].alignment=Alignment(horizontal='center') weekly.merge_cells('A2:I2'); weekly['A2']='Enter one row each week. Use the review notes to identify what to improve next week.'; weekly['A2'].font=Font(name=font,italic=True,color='555555') wh=['Week','Week Start','Static Topics Completed','AP-specific Topic','Current Affairs Revised','MCQs Solved','Mains Answers Written','Mock Test Score (%)','Review Notes / Next Week Focus'] for c,h in enumerate(wh,1): x=weekly.cell(4,c,h); x.font=Font(name=font,bold=True,color=white); x.fill=PatternFill('solid',fgColor=blue); x.alignment=Alignment(horizontal='center',wrap_text=True); x.border=Border(top=medium,bottom=medium,left=thin,right=thin) for r in range(5,31): weekly.cell(r,1,r-4) for c in range(1,10): z=weekly.cell(r,c); z.font=Font(name=font,size=10); z.border=Border(bottom=thin,left=thin,right=thin); z.alignment=Alignment(vertical='top',wrap_text=True) if c>=2: z.fill=PatternFill('solid',fgColor='FFFDF2') weekly.row_dimensions[r].height=34 for i,w in enumerate([10,14,23,28,25,15,22,18,42],1): weekly.column_dimensions[get_column_letter(i)].width=w weekly.freeze_panes='A5' dateval=DataValidation(type='date',operator='between',formula1='DATE(2020,1,1)',formula2='DATE(2035,12,31)',allow_blank=True); weekly.add_data_validation(dateval); dateval.add('B5:B30') for col in ['C','F','G']: d=DataValidation(type='whole',operator='greaterThanOrEqual',formula1='0',allow_blank=True); weekly.add_data_validation(d); d.add(f'{col}5:{col}30') d=DataValidation(type='decimal',operator='between',formula1='0',formula2='100',allow_blank=True); weekly.add_data_validation(d); d.add('H5:H30') weekly['H5'].number_format='0.0'; weekly.auto_filter.ref='A4:I30' # dashboard summary.merge_cells('A1:F1'); summary['A1']='APPSC Group 1 - Progress Dashboard'; summary['A1'].font=Font(name=font,size=16,bold=True,color=white); summary['A1'].fill=PatternFill('solid',fgColor=navy); summary['A1'].alignment=Alignment(horizontal='center') summary.merge_cells('A2:F2'); summary['A2']='Counts update automatically from the tracker sheets. Enter status values through the drop-down lists.'; summary['A2'].font=Font(name=font,italic=True,color='555555') summary['A4']='Prelims'; summary['A5']='Total topics'; summary['B5']=f'=COUNTA(\'Prelims Tracker\'!C5:C{pre_end})'; summary['A6']='Completed / revised'; summary['B6']=f'=COUNTIF(\'Prelims Tracker\'!D5:D{pre_end},"Completed")+COUNTIF(\'Prelims Tracker\'!D5:D{pre_end},"Revised")+COUNTIF(\'Prelims Tracker\'!D5:D{pre_end},"Test Done")'; summary['A7']='In progress'; summary['B7']=f'=COUNTIF(\'Prelims Tracker\'!D5:D{pre_end},"In Progress")'; summary['A8']='Completion %'; summary['B8']='=IFERROR(B6/B5,0)' summary['D4']='Mains'; summary['D5']='Total topics'; summary['E5']=f'=COUNTA(\'Mains Tracker\'!C5:C{main_end})'; summary['D6']='Notes ready'; summary['E6']=f'=COUNTIF(\'Mains Tracker\'!D5:D{main_end},"Completed")+COUNTIF(\'Mains Tracker\'!D5:D{main_end},"Revised")+COUNTIF(\'Mains Tracker\'!D5:D{main_end},"Test Done")'; summary['D7']='Test done'; summary['E7']=f'=COUNTIF(\'Mains Tracker\'!G5:G{main_end},"Test Done")'; summary['D8']='Notes-ready %'; summary['E8']='=IFERROR(E6/E5,0)' summary['A11']='Weekly performance'; summary['A12']='Total MCQs solved'; summary['B12']='=SUM(\'Weekly Progress\'!F5:F30)'; summary['A13']='Mains answers written'; summary['B13']='=SUM(\'Weekly Progress\'!G5:G30)'; summary['A14']='Latest mock score'; summary['B14']='=IFERROR(LOOKUP(2,1/(\'Weekly Progress\'!H5:H30<>""),\'Weekly Progress\'!H5:H30),0)' for r in [4,11]: for c in range(1,7): summary.cell(r,c).fill=PatternFill('solid',fgColor=blue); summary.cell(r,c).font=Font(name=font,bold=True,color=white) for r in list(range(5,9))+list(range(12,15)): for c in range(1,6): summary.cell(r,c).font=Font(name=font,size=11); summary.cell(r,c).border=Border(bottom=thin) for cell in ['B8','E8','B14']: summary[cell].number_format='0.0%' # mock score is raw 0-100, B14 should not % summary['B14'].number_format='0.0' for col,w in {'A':25,'B':18,'C':8,'D':25,'E':18,'F':8}.items(): summary.column_dimensions[col].width=w summary.freeze_panes='A4' chart=BarChart(); chart.type='bar'; chart.style=10; chart.title='Topic Completion'; chart.y_axis.title='Tracker'; chart.x_axis.title='Topics'; data=Reference(summary,min_col=2,max_col=2,min_row=5,max_row=6); cats=Reference(summary,min_col=1,min_row=5,max_row=6); chart.add_data(data,titles_from_data=False); chart.set_categories(cats); chart.height=6; chart.width=11; summary.add_chart(chart,'A17') # apply page setup, footer for sh in [pre,main,weekly,summary]: sh.sheet_properties.pageSetUpPr.fitToPage=True; sh.page_setup.fitToWidth=1; sh.page_setup.fitToHeight=0 sh.oddFooter.center.text='APPSC Group 1 Tracker | Page &P of &N' sh.oddFooter.center.size=9 wb.save(out) # basic verification check=load_workbook(out, data_only=False) assert check.sheetnames == ['Start Here','Prelims Tracker','Mains Tracker','Weekly Progress','Dashboard'] assert check['Prelims Tracker'].max_row == pre_end assert check['Mains Tracker'].max_row == main_end assert check['Dashboard']['B5'].value.startswith('=COUNTA') print(f'Created {out} ({out.stat().st_size} bytes)') PY
~/appsc-group1-tracker/output